历史上的今天

今天是:2024年09月06日(星期五)

正在发生

2021年09月06日 | 【STM32】解决加入flash擦除、读写之后程序“卡死“的问题

发布者:Xingfu6666 来源: eefocus关键字: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】解决加入flash擦除、读写之后程序“卡死“的问题

上一篇:【STM32】串口唤醒低功耗
下一篇:HAL库的官方历程

推荐阅读

8月31日,三星Galaxy Tab S4正式在大陆开启预售,国内用户终于可以把玩到三星这款最新代的旗舰级平板电脑。相比上一代产品,三星Galaxy Tab S4做出了重大升级,结合娱乐化、移动化的时代趋势,进一步提升娱乐影音体验、提高办公效率,真正将娱乐和办公合二为一,为用户带来了前所未有的极致体验。比肩影院 | 畅享沉浸式娱乐后娱乐时代,沉浸式享受备...
近日,在2019中国国际智能产业博览会上,“星光中国芯工程”总指挥、中星微电子集团创建人兼首席科学家邓中翰院士参加了大会,并做了主题演讲。邓中翰提到,今年是新中国成立70周年,也是“星光中国芯工程”20年纪念。据悉,星光中国芯工程是1999年在国家工业和信息化部、国家财政部、北京市政府的直接领导下,在国家电子信息产业发展基金投资支持下,由邓...
据 Windowslatest 报道,尽管 Surface Duo 目前仍无法直接购买,但这款手机的续作已在研发之中了。 根据多个微软 Android 操作系统工作清单显示,微软备受期待的 Surface Duo 现在可以预订,同时 Surface Duo 2 的研发工作已经开始。  IT之家了解到,下一代 Surface Duo 内部代号为 Zeta,除此以外目前尚无更多有关 ...
全球第一大MLCC制造商村田制作所,由于新冠疫情关系,在8月最后一周,停工了位于日本福井县的MLCC主力制造工厂武生事务所,并于9月1日,全面复工。外界普遍推测,正值iPhone 13的发布前夕,MLCC的短暂停工,可能会影响到iPhone、以及Sony Play Station在内相关产品的生产计划。 村田制作所:对MLCC供货产生的影响有限村田表示,尽管武生事务所的停工一...

史海拾趣

问答坊 | AI 解惑

VHDL语言理解请教

always @(posedge clk )begin if(!reset) out<=0; else if(cnt1==6) out<=1; else if(cnt2==6) out<=1; end 请问下,我在always的条件中没写 or negedge reset 这个信号, 当reset为低电平时out会清零不?…

查看全部问答∨

VirtualStart 问题

关于VirtualStart的问题,差不多看了论坛上关于虚地址的帖子,可是调试过程中,灯仍然不工作,郁闷,帮我看下吧,谢谢 oalAddressTable如下: ALIGN g_oalAddressTable         DCD     0x ...…

查看全部问答∨

问一个insert into 变量的问题!

用的是sqlite数据库。现在有一个语句,想插入记录 result = sqlite3_exec( db, "insert into List(NUMBER)  values (此处为变量名)", 0, 0, &zErrMsg); 变量为m_no 请问 括号内应该如何写?我编译的时候总是有错误,请大家指点下 ...…

查看全部问答∨

linux驱动启动时间问题

最近一个项目要搞linux驱动,但是以前没有搞过 所以有个问题研究了很久,还是没有搞清楚,想请教一下:: 平时驱动开发直接用insmod插入模块即可 但是在嵌入式环境下,开机就要启动驱动,但是代码里面仍然是做成模块化的,所以我现在搞不清楚该 ...…

查看全部问答∨

linux下烧写STC89C52

Linux下开发单片机可以使用SDCC,里面也自带了模拟器,STC官方只提供了Windows下的下载工具,这里提供一个在Linux环境下通过串口烧写STC89C52的软件,希望能对在Linux下开发单片机系统有点帮助: http://forum.ubuntu.org.cn/viewtopic.php?f=97 ...…

查看全部问答∨

关于关于多时钟模块中复位同步器的问题

在异步复位中,典型的复位形式如下面代码所示:always @ (posedge clk or negedge rst)     begin ....  end在这种复位模式下,一般而言是要加入一个synchronizer,代码如下所示:reg syn_rst, rff1;always @ (posedge CLK or ...…

查看全部问答∨

altium designer 09下下来的库文件怎么用?

最近在学此软件,下下来的库文件不知道怎么添加到软件的库里。高手帮帮忙…

查看全部问答∨

用STM32是否能实现:输出一组频率占空比50%,100~150KHZ

                                 大家好,用STM32是否能实现:输出一组频率占空比50%,100~150KHZ,可调步进精确到1Hz,就是最小可以1HZ的变化.…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved