当前位置:首页 > 电子 > 正文内容

stm32中断响应不及时/中断响应慢可能是FLASH读写问题

admin2年前 (2021-12-28)电子6454

之前调试过一个STM32F100的程序,里面使用了TM1 TM2  TM4  TM7和串口,TM2定时器中断抢占优先级和响应优先级已经设置了最高优先级,中断还是响应速度慢,大概十几毫秒以后才能反应过来,各个中断优先级都查一遍,中断组也换了又换,最后还是没找到问题,进仿真一步一步跟,最后发现注释掉写内部FLASH时候程序一切正常了,百度了一下,写FLASH的时候无法响应中断,只能干瞪眼等着FLASH操作完才可以响应。

官方文档PM0042《STM32F10xxx闪存编程手册.en》,在Page11中有一段话很重要: 
During a write operation to the Flash memory, any attempt to read the Flash memory will 
stall the bus. The read operation will proceed correctly once the write operation has 
completed. This means that code or data fetches cannot be made while a write/erase 
operation is ongoing. 
For write and erase operations on the Flash memory (write/erase), the internal RC oscillator 
(HSI) must be ON. 
The Flash memory can be programmed and erased using in-circuit programming and in- 
application programming.

中文翻译第一段话:在Flash写入操作过程中,任何试图读取Flash的操作都会锁定住总线,在完成Flash写操作之后读取Flash操作会继续执行,这意味着写入Flash期间无法访问Flash中的代码和数据。

扫描二维码推送至手机访问。

版权声明:本文由视觉博客发布,如需转载请注明出处。

本文链接:https://feelsight.cn/post/129.html

“stm32中断响应不及时/中断响应慢可能是FLASH读写问题” 的相关文章

labVIEW调用C# dll 步骤

labVIEW调用C# dll 步骤

labVIEW选用的版本是2010,C#选用的是VS20101.打开VS 2010,选择 文件》新建》项目 如下图所示:图12.输入名称并点击确认,如下图所示图23.编辑类,简单的编辑一个加法,如下图所示:图34.点击 项目》ClassLibrary 属性,如下图所示:图4图65.点击解决方案管理器...

ESP8266在Eclipse下设置编译模式(有boot和无boot)

ESP8266在Eclipse下设置编译模式(有boot和无boot)

更改编译模式可以更改Makefile文件中的 BOOT?=new APP?=1 SPI_SPEED?=40 SPI_MODE?=QIO SPI_SIZE_MAP?=2 可以根据2A-ESP8266__IOT_SDK_User_Manual__CN_...

物联网 WIFI 一键配置原理(smartconfig) ESP8266/QCA4004

物联网 WIFI 一键配置原理(smartconfig) ESP8266/QCA4004

物联网 WIFI 一键配置原理(smartconfig) ESP8266/QCA4004 自从物联网问世以来,如何使得物 能够联网有了很多的方式,目前运用非常广的WIFI,今天就总结下自这个方面,也对于有需要的盆友也希望有抛砖引玉之效果。 来看个知乎...

锂电池充电的原理

锂电池充电的原理

    锂离子电池的充电过程可以分为四个阶段:涓流充电(低压预充)、恒流充电、恒压充电以及充电终止。     锂电池充电器的基本要求是特定的充电电流和充电电压,从而保证电池安全充电。...

stc-isp烧录 下载 协议 过程分析

一、数据封装格式 包头 标示 数据包长度 命令字...

正点原子阿波罗ST32F767试用

正点原子阿波罗ST32F767试用

一、             硬件整体介绍 1.       底板  &nb...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。