OS_CPU_SR os_cpu_sr=0;是什么意思

2019-08-16 20:26发布

在UCOS实验的开始任务中,都会有一句OS_CPU_SR    os_cpu_sr=0;这句是什么意思,
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
正点原子
1楼-- · 2019-08-16 23:08
这是ucosii采用方法3来开关中断。
os_cpu_sr是用来存 cpu 状态寄存器用的
979653421@qq.co
2楼-- · 2019-08-17 00:23
回复【2楼】正点原子:
---------------------------------
不过原子哥,我也不知道为什么要赋值为0,如果不赋值应该也不会有影响吧
979653421@qq.co
3楼-- · 2019-08-17 01:07
回复【3楼】979653421@qq.com:
---------------------------------
懂了,可以赋值为0
henu四叶草
4楼-- · 2019-08-17 06:04
查看源码OS_CRITICAL_METHOD 宏定义就知道了
#if OS_CRITICAL_METHOD == 3
#define  OS_ENTER_CRITICAL()  {cpu_sr = OS_CPU_SR_Save();}
#define  OS_EXIT_CRITICAL()   {OS_CPU_SR_Restore(cpu_sr);}
你调用临界区这两个接口必须要定义一个cpu_sr 变量的,这是宏决定的,否则也编译不过啊;其次作用这个变量是用来存放关中断前的状态寄存器的,看懂代码意思你也就知道这个局部变量只需定义,至于赋值0与否不重要

一周热门 更多>