_EINT()和 _BIS_SR()

2019-07-23 16:03发布

    _EINT();和  _BIS_SR(LPM0_bits + GIE);   什么区别,程序中用到 _EINT()就正常,用后者就不行,怎么回事,怎么做到一致
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
尤彼卡
1楼-- · 2019-07-23 20:08
在不同的版本上略有差异,其实你可以这样写BIS_SR(GIE),就能完全规避这个问题
可可球
2楼-- · 2019-07-23 20:27
前者同时完成2个设置,进入LPM0模式同时使能全局中断。
后者只是使能了全局中断。
309030106
3楼-- · 2019-07-23 21:15
#define _EINT()        __enable_interrupt()
__intrinsic unsigned short _BIS_SR_IRQ(unsigned short);
应该在头文件定义的
lefeng
4楼-- · 2019-07-24 00:07
BIS_SR用于对寄存器数值进行操作,该函数其实是一个宏定义,在in430.h头文件中可以找到这个宏定义,如下:#define _BIS_SR(x)   _bis_SR_register(x)。
yiyigirl2014
5楼-- · 2019-07-24 00:08
 精彩回答 2  元偷偷看……
上山砍老虎
6楼-- · 2019-07-24 00:21
这两个函数用的确实不少

一周热门 更多>