free性丰满hd毛多多,久久综合给合久久狠狠狠97色69 ,欧美成人乱码一区二区三区,国产美女久久久亚洲综合,7777久久亚洲中文字幕

0
問答首頁 最新問題 熱門問題 等待回答標(biāo)簽廣場
我要提問

單片機

請教一個MSP430單片機低功耗問題

if(DLOCK == 1)//在WOR周期內(nèi),收到數(shù)據(jù)包或者超時時間到,都將退出WOR,開始下一循環(huán)

        {

            if(RFReceive(rXFIFO) == 0)

            {

              //__disable_interrupt();

              P1OUT &= ~BIT6;//點亮LED

              P1OUT &= ~P62730_ON;//通過ON信號點亮LED

              P1IFG &= ~P62730_ON;

              TA0CTL &= ~MC_1;//停止定時器0

              delay_2us(60000);//delay_2us(50000);delay_2us(50000);

              delay_2us(60000);delay_2us(60000);

              P1OUT |= LED;//熄滅LED

              P1OUT |= P62730_ON;

              //delay_2us(60000);

              T0_R = 0;

              TA0R = 1;

              END_CY = 0;//進入下一循環(huán)

              DLOCK = 0;

              

              T1_R = 10;

              //__enable_interrupt();

            }

            else

            {

              END_CY = 1;

              DLOCK = 0;

            }            

        }

        if(END_CY == 0)

       {

         qq=TI_CC_SPIReadStatus(CCxxx0_MARCSTATE);

          //  __bis_SR_register(LPM3_bits + GIE);                // Enter LPM3 until VBUS-on event

            _NOP();      

       }

       if(T0_R)

       {

          halSpiStrobe(CCxxx0_SIDLE);

          TA0CTL &= ~MC_1;//停止定時器0

          END_CY = 0;

       }

      //END_CY = 0;

       if(USBPre == 1)

       {

         END_CY=1;

         break;   

       }   

                        P1IFG &= ~RFSPI_GDO0;

            P1IE |= RFSPI_GDO0;//開啟GDO0中斷

        initWorMode();

         __bis_SR_register(LPM3_bits + GIE);_NOP();

    }

以上代碼放在一個無窮循環(huán)中。程序的本意是在LPM3模式下被GDO0中斷觸發(fā),然后轉(zhuǎn)到RFReceive接收函數(shù),接收正確則閃爍LED一次。仿真調(diào)試的時候發(fā)現(xiàn),如果一進仿真直接全速運行,則LED一次都不閃爍,也就是根本就不能喚醒CPU;

暫停CPU,PC指向最后一條進入睡眠的語句,然后單步運行,則CPU可以被正常喚醒,然后正常接收,LED閃爍。如果再全速運行,則CPU不能被中斷。

我以為是發(fā)送機發(fā)數(shù)據(jù)太快了,在發(fā)送端加了延時,沒用。

如果直接給接收端加電源,不進行仿真,LED一樣不能閃爍。

求前輩指教一下。謝謝!

提問者:jacksonqwj 地點:- 瀏覽次數(shù):5520 提問時間:10-26 09:27
我有更好的答案
提 交
2條回答
60user93 04-01 16:40
喚醒LPM3的IO中斷函數(shù):
#pragma vector = PORT1_VECTOR
__interrupt void GDO_ISR(void)
{
??P1IFG &= (~BIT0) & (~BIT5);//ON,CSN
??if(P1IFG&RFSPI_GDO0)
??{
? ?//??__disable_interrupt();//禁止定時器運行
? ? P1IFG &= ~RFSPI_GDO0;
? ? DLOCK = 1;? ?
??}
??else;
? ?? ?? ?? ? __bic_SR_register_on_exit(LPM3_bits);? ?// Exit LPM0-3
? ? ? ? ? ???__no_operation();? ?? ?? ?? ?? ?? ?? ???// Required for debugger
}
wufengju 04-06 13:42
設(shè)置斷點 看看能不能進中斷喚醒啊。 你也可以下載進去后,復(fù)位然后看現(xiàn)象是否正確。
撰寫答案
提 交
1 / 3
1 / 3
相關(guān)單片機
具有音調(diào)控制的單片機立體聲前置放大器
用于單片機與電子裝置中的開關(guān)電源
單片機軟硬件復(fù)位的條件都有啥
電動機的單片機控制
單片機應(yīng)用系統(tǒng)開發(fā)實例導(dǎo)航