研究生
最后登录1970-1-1
在线时间 小时
注册时间2018-7-14
|
在学习完了W26Q64和Spi_Flash,及FSMC控制液晶屏等章节后,根据书后的练习实验,可以在液晶屏上显示ASCII码等西文字符.
但当我想显示中文字符时,就出现问题了.当制做完GB2312中文字库后.怎么写入SPI_Flash(W25Q64)呢?作者介绍说要用到SD
卡和文件系统.这个时候还没有学习到SD卡章节,我考虑用两个办法.
第一个办法就是把GB2312字模数据直接放在STM32的内部Flash内,毕竟它也有512K,而字模数据不到256K.让汉字字模数据像
ASCII字模数据一样使用.实践后,确实能够使用,显示汉字与显示ASCII字符一样,一切正常.
第二个办法就是先把GB2312字模数据放在STM32的内部Flash内,然后利用W26Q64的作用,把GB2312字模数据写入W26Q64中,
然后再像书中例程一样,从W26Q64中读取字模数据显示.这需要两次完成,第一次先写入W26Q64的字模数据.第二次进行液晶的
显示试验.但这个办法就出现问题了,显示错误,比如要显示"野火3.2寸LCD参数"时,就出现错误,但前面将字模数据写入W26Q64
时,程序并没有报错,而且写入和读出都是报正确的.而且每次显示还不一样,显示ASCII字符总是正确的,有时不显示汉字.有时显示
的是"野"字的一部分,后面却是"冶也页"等这几个字的一部分.这几个字在区位编码中在"野"字的后面.真是奇怪,哪位大佬解释一
下,在字模进行W26Q64的写入过程中,我用了扇区擦除,用了全片擦除等各种方式.写入时并未报错.但读出时为什么会这样呢?
|
|