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

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

admin3年前 (2021-12-28)电子7566

之前调试过一个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读写问题” 的相关文章

STM32 keil mdk启动代码发分析

在启动文件我们看到了__main和用户写的main,这2个是有区别的,大概流程如下: 1、复位第一条指令:Reset_Handler   PROC,这里指定为 LDR     R0, =__main。表示调用...

STM32 中断向量表的位置 、重定向

STM32 中断向量表的位置 、重定向

这篇文章已经说了STM32的启动过程: https://feelsight.cn/post/39.html 我们也知道怎么跳到main函数了,那么,中断发生后,又是怎么跑到中断入口地址的呢? 从stm32f10x.s可以看到,已经定义好了一大堆...

单片机时钟周期,机器周期,指令周期的区别

单片机时钟周期,机器周期,指令周期的区别

时钟周期        时钟周期也称为振荡周期,定义为时钟脉冲的倒数(时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时钟周期就是1/12us),是计算机中的最基本的、最小的时间单位。       在一...

锂电池充电的原理

锂电池充电的原理

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

ESP8266发送HTTP请求GET请求POST请求

ESP8266发送HTTP请求GET请求POST请求

一、ESP8266简介   ESP8266 是深圳安信可科技有限公司开发的基于乐鑫ESP8266的超低功耗的UART-WIFI模块的模组,可以方便进行二次元开发,接入云端服务,实现手机3/4G全球随时随地的控制,加速产品原型设计。  &em...

如何看懂电路图(一)--基本的电路符号

如何看懂电路图(一)--基本的电路符号

电子设备中有各种各样的图。能够说明它们工作原理的是电原理图,简称电路图。 电路图有两种,一种是说明模拟电子电路工作原理的。它用各种图形符号表示电阻器、电容器、开关、晶体管等实物,用线条把元器件和单元电路按工作原理的关系连接起来。这种图长期以来就一直被叫做电路图。 另一种...

发表评论

访客

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