用最新的mdk5自带所有固件,u盘读取6m大小的字库,u盘处理为独立线程,emwin显示的为一个线程,通过自己定义的ui消息,把u盘读取字库的进度条数据发给ui线程进行进度条更新,发现一个奇葩问题,u盘读取动不动卡死了,不是死机,不是u盘自动断开连接,就是u盘读取数据失败。把usb线程优先级设置比ui高,也不行,在同一个线程刷新进度条也不行。最后只好再读取时候加入delay,勉强解决这种大文件稳定性,好奇葩
while (( fread (databuf, 1, 512, filein)) != 0)
{
// print (0, "\n write to nand i=%u\n",i);
fwrite (databuf, 1, 512, fileout );
if(++i>=filesize){
i=0;
Usb_SaveBarValue +=10;
print (0, "\n File size=%u Usb_SaveBarValue= %u\n", filesize, Usb_SaveBarValue);
SendStateToUSBDlg (MSG_BAR_VALUE+ Usb_SaveBarValue);
osDelay(10);
}
}
离线