请教stm32操作内部FLASH时影响定时器中断的问题

2019-12-22 13:48发布

本帖最后由 NIC 于 2017-9-28 21:21 编辑

一个定时器的中断的精度要求比较高,但stm32操作内部FLASH时因为会关闭全部中断而影响到定时器中断,有没有好的方法去判断当前定时中断有没有受到影响
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
浮华一生
1楼-- · 2019-12-22 19:01
禁止中断前读取1次定时器的值,  重启中断的时候再读取1次   然后自己做一下修正.....
LearningASM
2楼-- · 2019-12-22 22:37
基本无解,除非能在一个中断内完成,按手册基本做不了
NIC
3楼-- · 2019-12-22 23:28
LearningASM 发表于 2017-9-28 21:39
基本无解,除非能在一个中断内完成,按手册基本做不了

操作FLASH在一个定时器中断周期的什么时候开始都是随机的,可能在操作过程中,定时器已经溢出了
LearningASM
4楼-- · 2019-12-23 03:05
 精彩回答 2  元偷偷看……
NIC
5楼-- · 2019-12-23 08:49
LearningASM 发表于 2017-9-28 22:36
这个就像以前状态机那样,定时器里面做个标志位置1操作,操作Flash前把标志位清0,然后while(标志位==0) ...

这个定时器每次中断后就关闭的,下一次等待某个事件发生时再开启这个定时器。所以我要在开启定时器时置标志位,中断后清标志位,操作flash前都去判断这个标志位,如果被置位了,就等待标志位被清掉后再去操作Flash
LearningASM
6楼-- · 2019-12-23 10:45
NIC 发表于 2017-9-28 23:18
这个定时器每次中断后就关闭的,下一次等待某个事件发生时再开启这个定时器。所以我要在开启定时器时置标 ...

原来是一次性定时器,一开始没说明,习惯上说定时器都按节拍器理解了。

一周热门 更多>