
51单片机的问题
最近在将ASCII字模写入FLASH芯片中,出现一个奇怪的现象,那么多字符,只有LMNO和lmno八个字符在读取的时候出现乱码,其它的字符都很正常。该显示LMNO的时候,...
最近在将ASCII字模写入FLASH芯片中,出现一个奇怪的现象,那么多字符,只有LMNO和lmno八个字符在读取的时候出现乱码,其它的字符都很正常。该显示LMNO的时候,显示出来的是“\ ] ^ _”四个字符,该显示“l m n o”的时候,显示的是“| } ~ ”四个字符。
我仔细的研究了我的程序,存储和读取程序没错,写入的ASCII字模也没错.
谁能告诉我,这是怎么啦? 展开
我仔细的研究了我的程序,存储和读取程序没错,写入的ASCII字模也没错.
谁能告诉我,这是怎么啦? 展开
展开全部
没有程序和硬件环境,很难判断。
1、仔细检查程序。(如是否越界,计算寻址过程中是否溢出。)
2、调整程序再检查硬件FLASH和程序。(改变字模排列,调整取字位置,判断FLASH是否损坏和隐藏的BUG。)4C-4F,6C-6F,实际显示5C-5F和7C-7F。很奇怪,难道还有抗干扰的问题,第4位地址位异常?
1、仔细检查程序。(如是否越界,计算寻址过程中是否溢出。)
2、调整程序再检查硬件FLASH和程序。(改变字模排列,调整取字位置,判断FLASH是否损坏和隐藏的BUG。)4C-4F,6C-6F,实际显示5C-5F和7C-7F。很奇怪,难道还有抗干扰的问题,第4位地址位异常?
追问
1.我用的是1MB的FLASH,已经写入了HZK16的数据,然后我又在后面写入了ASCII字模,经过我的计算和实际的变量跟踪,地址没有发生溢出,存储空间足够
2.硬件应该没问题,而且出错的只有八个字符。我用仿真看了一下,程序能检测出来4C-4F和6C-6F的八个字符,而且根据4C-4F和6C-6F计算出来的地址也符合我的计算,但就是显示出来的不对,我猜想可能那八个字符错了,所以我仔细检查了一下,发现没错。
我真的无语了……
追答
正面的消息和进展无助于更新的判断和分析。建议跟踪到读取FLASH提取的字节信息,以及送往LCD时的内容检查。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询