【STM32】解决加入flash擦除、读写之后程序“卡死“的问题

问题描述:

工程整个函数每隔5ms刷新一次,但是一家入flash操作串口发送就有问题了,接收不到串口发送出来的数据,然后整个函数拖慢了很多。


原因分析:

主函数每5ms去擦除、读写flash导致,flash操作需要时间,实测20ms操作一次就不会再有问题。


解决方案:

提示:这里填写该问题的具体解决方案:
例如:新建一个 Message 对象,并将读取到的数据存入 Message,然后 mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();换成 mHandler.sendMessage()。

if(cnt_flash > SYSTEM_MILLISECONDS(20))
  {
    cnt_flash = 0;
    result = Flash_Prepared(); 
    if(result)
    {
      result = Flash_Write();
    }
    memset();
    Flash_Read();
  }

你可能感兴趣的:(STM32,flash,STM32,STM32G0)