51
单片机解决中断和主程序共享全局变量的方法
所谓原子操作
,
并不是指一条指令
,
而是指一系列操作不能被打断
.
这种操作与临界区是密切相关的
,
可以说原子操作就是临界区引发出来的需求
.
以上是给大家提供资料查找的入口
,
下面我用通俗的话说说
,
但切不要认为自已看懂了就可以不
去查以上相关资料了
,
知道啥叫
"
通俗
"
吗
?
呵呵
.
废话不多说
:
在多进程的系统里
(
比如多任务
,
比如中断服务程序
),
假如两组程序都要访问同一个资源
,
而作为
程序员的你没有办法避免在一个进程访问完该资源之前
,
另一进程就来访问该资源
,
就出现了访
问冲突
,
这就是临界区问题
.
举个实际例子
:
假如
A
进程用变量
a
作为临时存储区时
,
如果运行到一半中断发生了
,
而中断里也
会用到该变量
,
等中断返回时
,
变量
a