OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子全套STM32开发资料,上千讲STM32视频教程,RT1052教程免费下载啦...

查看: 444|回复: 3

AVR 关全局中断的函数cli();的疑问

[复制链接]

  离线 

28

主题

70

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
380
金钱
380
注册时间
2016-12-16
在线时间
146 小时
发表于 2017-10-10 11:53:07 | 显示全部楼层 |阅读模式
1金钱
void system_set_exec_alarm(uint8_t code) {
  uint8_t sreg = SREG;
  cli();
  sys_rt_exec_alarm = code;
  SREG = sreg;
}
上面的这个函数的意思是不是这样
把状态寄存器的数据保存到sreg这里。
然后关全局中断的函数cli();
变量赋值
还原状态寄存器的值
后面为什么不调用sei();开中断呢?
ARM中怎么才能获得状态寄存器的值呢?

回复

使用道具 举报

  离线 

500

主题

9万

帖子

31

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
129741
金钱
129741
注册时间
2010-12-1
在线时间
1169 小时
发表于 2017-10-11 01:14:13 | 显示全部楼层
帮顶
回复

使用道具 举报

  离线 

1

主题

376

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1060
金钱
1060
注册时间
2011-12-1
在线时间
79 小时
发表于 2017-10-11 11:45:32 | 显示全部楼层
表面上看你说的意思是正确的,但是你说关了全局中断,为什么不开,这哪个知道呀,又不知道你干啥。至于ARM怎么获取就要去看相关手册的寄存器了。
回复

使用道具 举报

  离线 

2

主题

7

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-10-12
在线时间
2 小时
发表于 2017-10-12 16:41:51 | 显示全部楼层
顶!!
回复

使用道具 举报

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

本版积分规则




关闭

"原子哥”推荐上一条 /1 下一条

QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-7-20 18:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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