OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 14536|回复: 4

OS_CPU_SR os_cpu_sr=0;是什么意思

[复制链接]

31

主题

106

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
421
金钱
421
注册时间
2014-3-11
在线时间
15 小时
发表于 2014-9-16 16:47:18 | 显示全部楼层 |阅读模式
5金钱
在UCOS实验的开始任务中,都会有一句OS_CPU_SR    os_cpu_sr=0;这句是什么意思,

最佳答案

查看完整内容[请看2#楼]

这是ucosii采用方法3来开关中断。 os_cpu_sr是用来存 cpu 状态寄存器用的
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165359
金钱
165359
注册时间
2010-12-1
在线时间
2110 小时
发表于 2014-9-16 16:47:19 | 显示全部楼层
这是ucosii采用方法3来开关中断。
os_cpu_sr是用来存 cpu 状态寄存器用的
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

17

主题

69

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
260
金钱
260
注册时间
2015-3-9
在线时间
67 小时
发表于 2015-8-7 15:13:47 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
不过原子哥,我也不知道为什么要赋值为0,如果不赋值应该也不会有影响吧
回复

使用道具 举报

17

主题

69

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
260
金钱
260
注册时间
2015-3-9
在线时间
67 小时
发表于 2015-8-7 16:34:03 | 显示全部楼层
回复【3楼】979653421@qq.com:
---------------------------------
懂了,可以赋值为0
回复

使用道具 举报

8

主题

30

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
229
金钱
229
注册时间
2014-3-14
在线时间
40 小时
发表于 2017-7-24 21:53:30 | 显示全部楼层
查看源码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与否不重要
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-12-23 07:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表