野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1406|回复: 2

GB2312汉字库无法写入SPI_Flash,怎么回事?

[复制链接]
发表于 2023-7-2 08:28:12 | 显示全部楼层 |阅读模式
在学习完了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的写入过程中,我用了扇区擦除,用了全片擦除等各种方式.写入时并未报错.但读出时为什么会这样呢?
回复

使用道具 举报

发表于 2023-7-3 09:22:20 | 显示全部楼层
是不是直接用例程bsp_spi_flash的SPI_FLASH_BufferWrite写入
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-3 13:55:19 | 显示全部楼层
问题解决了,自己粗心,在液晶显示例程中.SPI引脚定义错误了.没有检查出来.
烧写没有问题.前面的烧写是用bsp_spi_flash的SPI_FLASH_BufferWrite写入的.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 02:23 , Processed in 0.032767 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表