_BIS_SR(LPM0_bits+GIE)和_EINT()有什么区别 10
除去_BIS_SR(LPM0_bits+GIE能够起到进入LPM0低功耗模式之外,在开总中断这个作用上两者有什么差别?我在之前写的一个程序里想开总中断用了_EINT()发...
除去_BIS_SR(LPM0_bits+GIE能够起到进入LPM0低功耗模式之外,在开总中断这个作用上两者有什么差别?我在之前写的一个程序里想开总中断用了_EINT()发现不能正常工作,改成_BIS_SR(LPM0_bits+GIE)就行了,一直百思不得其解,希望各位高手不吝赐教
展开
3个回答
展开全部
_BIS_SR(LPM0_bits+GIE)和_EINT()的区别在于
前者在开启中断之外,还让CPU休眠了。后者则只是开启了中断。
__bis_SR_register(x) 这句话的意思是set SR寄存器中的某些位,也就是让这些功能位使能。
#else /* Begin #defines for C */
#define LPM0_bits (CPUOFF)
#define LPM1_bits (SCG0+CPUOFF)
#define LPM2_bits (SCG1+CPUOFF)
#define LPM3_bits (SCG1+SCG0+CPUOFF)
#define LPM4_bits (SCG1+SCG0+OSCOFF+CPUOFF)
这是库中的定义,显然LPM0_bits让CPU休眠了
GIE则是和__enable_interrupts()等效,使能中断。
#define _EINT() __enable_interrupt()
EINT()是_enable_interrupts()的宏定义。
如有不懂请追问~
leipole
2024-10-28 广告
2024-10-28 广告
JUK 10-DREHSI是上海雷普电气有限公司生产的一种高质量接线端子。它执行IEC60947-7-1标准,额定电压达800V,额定电流为10A,适用于刚性及柔性导线范围在0.5-16mm之间。该产品具有优良的阻燃性能(V0级),设计紧凑...
点击进入详情页
本回答由leipole提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |