金牌会员
 
- 积分
- 1814
- 金钱
- 1814
- 注册时间
- 2011-10-9
- 在线时间
- 230 小时
|
发表于 2021-7-10 16:51:15
|
显示全部楼层
本帖最后由 simms01 于 2021-7-10 17:02 编辑
没那么复杂啊 你这个问题 要不就是 数据没读对 要不就是发到串口过程有问题
那么 1. 读 flash 字库头10个字节 然后加起来 看看和是多少 打开这个文件 看看前10字节 和是多少。
如果不一样 那么就是这个字库写到flash过程中写错了 或者你读错了
不是1 那么就是2 发串口过程有问题 。 一个一个找不好么
而且最好先发一个 AA55 看看串口是否正常 否则波特率错了搞死人
u8 tempArray[10];
在while(1)前,复制下面的代码,
W25QXX_Read(tempArray, 12 * 1024 * 1024, 10);
while((USART1->SR & 0X40) == 0); //循环发送,直到发送完毕
USART1->DR = 0xaa;
while((USART1->SR & 0X40) == 0); //循环发送,直到发送完毕
USART1->DR = 0x55;
for(i = 0; i < 10; i++)
{
while((USART1->SR & 0X40) == 0); //循环发送,直到发送完毕
USART1->DR = (u8) tempArray [ i ];
delay_ms(100);
}
|
|