- void main(void)
- {
- BCSCTL1 |= DIVA_2;//ACLK 4分频:由LFXT1CLK提供(32kHZ)
- WDTCTL = WDT_ADLY_1000; //WDT作为间隔定时器:8000ms
- IE1 |= WDTIE;
- while(1)
- {
- unsigned int i;
- _BIS_SR(LPM3_bits+GIE);//设置SR寄存器,进入LPM3,打开全局中断
- }
- }
进入LPM3:SCG1+SCG0+CPUOFF:也就是只有ACLK是活动的,但是仍支持WDT,TIMER.
编译器支持直接对位赋值:_intrinsic unsigned short _BIS_SR(unsigned short),位于in430.h
同理要清除SR中某一位的话就用 _BIC_SR();
|