OLED+串口+FLASH字库
因为OLED需要显示的字很多,所以想把字库放到flash中调用;我通过PC端利用串口调试助手发送字库数据;处理方式如下:void USART2_IRQHandler(void) //接收字库专用
{
uint8_t res;
if(USART_GetITStatus(USART2,USART_IT_RXNE)!=RESET)
{
res = USART_ReceiveData(USART2);
W25QXX_Write(&res,Font_Star_Addr++,1);
}
}
串口调试助手我采用 的是XCOM;
然后,我测试的时候发现,显示出来的是OLED全亮;
然后,仿真是读取我存在flash中 的部分数据;发现有可能字库写入失败;
所以,想请教下,到底应该怎么做;我的FLASH只有1M的空间;所以只能选择GB2312的字库;我采用的点阵大小是16的
你的CPU如果是512K的,那么直接将点阵字库作为文件,写在CPU的FLASH内。如果CPU的FLASH比较小,则可以将字库文件分割后,做几个程序,分别写到W25QXX的相应的位置。当然,字库文件字节要准备好。 zhao.zhao 发表于 2017-6-13 12:18
你的CPU如果是512K的,那么直接将点阵字库作为文件,写在CPU的FLASH内。如果CPU的FLASH比较小,则可以将字 ...
分割倒是不用;肯定是要存储在flash中的;我目前测试发现串口中断接收数据后,写入flash中会卡死;串口波特率是115200;SPI时钟速度是12M;我看网上好多接收一个Byte就写入一个 字节;有点奇怪 初步判断SPI写的时间过长,可能超过了USART的时间了,所以出现卡死的迹象。
为了测试,你可以先写100个字节,然后再写个程序只读这100个字节,从串口输出,如果两者相同,那么以上判断错误,如果有数据丢失,那么上面判断正确,你得换个思路了 zhao.zhao 发表于 2017-6-13 15:59
初步判断SPI写的时间过长,可能超过了USART的时间了,所以出现卡死的迹象。
为了测试,你可以先写100个字节 ...
字库,我暂时写进去了;我换了串口上位机;然后,我读取一个字显示,发现字是躺下来的;然后,换了一种取模方式,结果也一样;我刚看到一种SD卡的字库方式,需要支持fatfs,但是我只有flash没有sd;这样行的通么 zhao.zhao 发表于 2017-6-13 15:59
初步判断SPI写的时间过长,可能超过了USART的时间了,所以出现卡死的迹象。
为了测试,你可以先写100个字节 ...
我之前用OLED显示过几个简单的汉字;通过取模放在片内的flash里面;然后,我刚用那个软件,生成字库是font格式的,貌似我不能用 串口助手去导入 字库的FON文件如何利用串口助手导入 明天我发个字库的,你来下载试试 顺便问一下,你的CPU型号是什么? zhao.zhao 发表于 2017-6-13 19:28
顺便问一下,你的CPU型号是什么?
我的CPU型号是STM32F030C8T6;另外,FON文件通过串口发送,我已经解决了;现在有新问题,我采用的字库是GB2312;我计算 出来的偏移量不对
页:
[1]
2