LCD5510写字符程序移植到STM32G071运行出现错误

2019-03-23 14:49发布

这是向LCD5110写字符的函数,在SMT32F103下能够正常运行,可是在STM32G071下编译能够通过,下载到开发板运行则出错,调试发现,在执行循环时第一遍能通过,第二遍开始时就出现系统错误,跳到错误处理函数里。请教各位是什么原因,该如何解决

  1. /*********************************************/
    * 函数名称:LCD_write_ASCII
    * 函数功能:显示字符串5*7(8)
    * 入口参数:x,y,cid   :显示ASCII字符
    * 出口参数:无               编号(行号)32~127
    * 备注:ASCII码表的数组ASC_5[95][8]来寻址
    *********************************************/
    void LCD_write_ASCII(u8 X,u8 Y,u8 *stru)
    {
        u8 i;
    
        LCD_set_XY(X,Y);                        //定位(左上角)
        while (1)
        {
            for ( i=0; i<5>
            {
                LCD_write_byte(ASC_5[*stru-32][i],1);
            }
            stru++;
            
            if(*stru == '\0') break;    //在每个字符串的最后,会有一个'\0'
            LCD_write_byte(0x00,1);     //插入空列
        }  
    }

111.jpg222.jpg333.jpg

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
hujj
1楼-- · 2019-03-24 10:49


十有八九是指针的值算出的结果超出数组下标问题。


但我就是不明白这段程序在STM32F103能正常运行,我是原封不动复制过来的。