中级会员
 
- 积分
- 329
- 金钱
- 329
- 注册时间
- 2013-5-12
- 在线时间
- 26 小时
|
买了原子哥两套战舰开发板,学习汉字显示的时候发现字库通过SD卡写入外部FLASH
如果没有SD卡槽怎么办?百度上有人讲通过串口直接写入,但是没有具体的代码。
现把自己实现的代码分享下:(自己测试了波特率:115200时写入500KB文件需要45秒,再高就没有测试了)
u32 WriteAddr=0; //开始写入地址
void USART1_IRQHandler(void)
{
u8 Res;
if(USART_GetITStatus(USART1,USART_IT_RXNE) != RESET)
{
USART_ClearITPendingBit(USART1,USART_IT_RXNE); //清除串口接收中断
Res=USART_ReceiveData(USART1);
SPI_Flash_Write_NoCheck(&Res,WriteAddr++,1);
//LCD_ShowxNum(120,75,pAddr,2,16,0); 原本想通过LCD观察传输的字节数有无错误,但是发现严重影响传输速度,最高1200,删除此行传输速度115200没有任何问题。
//USART_ClearITPendingBit(USART1,USART_IT_RXNE); //清除串口接收中断(把清除中断放在这个位置只会卡死,不知道怎么回事)
}
}
我使用的无检验写SPI-FLASH,写入前需要全片擦除一下。
|
|