此帖出自stm32/stm8论坛
最新回复
本帖最后由 damiaa 于 2023-6-6 15:09 编辑
[attach]703372[/attach]不可能一条指令的中间中断的。
一定是程序的一条指令执行完后才中断的。中断时会保存程序的下一条指令到程序计算器,还回时执行这条指令。
原子操作其实是指用户不想中断打断的操作
比如用户编的一个全局变量的数组是“my name is wangyi”。 在主程序中判断时,中断中改变了。那会用到几条指令。
在这几条指令的中间主程序读到i am w的时候中断了。中断中改为“i am linger”。主程序中断返回就继续,读
到的就是 “i am winger“ 乱了。
这时候可以用关中断的方式保证这个操作为原子操作。
关中断
处理全局变量的数组
开中断
类似原子操作的指令 这些也只能用到极为特别的地方,比如标志的判断。 更广泛的应用可能还是要自己动手。
详情
回复
发表于 2023-6-6 14:41
| ||
个人签名在只有一把铁锤的人眼里,世界万物都是钉子!
|
||
| |
|
|
此帖出自stm32/stm8论坛
| ||
|
||
此帖出自stm32/stm8论坛
| ||
|
||
| |
|
|
此帖出自stm32/stm8论坛
| ||
个人签名在只有一把铁锤的人眼里,世界万物都是钉子!
|
||
| |
个人签名在只有一把铁锤的人眼里,世界万物都是钉子!
|
|
此帖出自stm32/stm8论坛
| ||
|
||
此帖出自stm32/stm8论坛
| ||
个人签名在只有一把铁锤的人眼里,世界万物都是钉子!
|
||
此帖出自stm32/stm8论坛
| ||
|
||
| |
|
|
此帖出自stm32/stm8论坛
| ||
|
||
浏览过的版块 |
论坛测评队员
EEWorld Datasheet 技术支持