redworlf 发表于 2013-11-6 17:21:28

关于CC430无线接受中断的问题

1、简单描述:无线接受中断里,我把Strobe( RF_SRX );   //接收使能 这句话屏蔽掉,就只能接受一次数据,就没有了,程序只做接收用,没有发射。

2、我的疑惑是接受中断发生时,自动关闭了接受使能,是这样么?

3详细代码:
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;               // Stop WDT
_DINT();
Init_System_Clk();
Init_Uart_A0();
Init_Timer0_A0();
//Init_ADC12_A0();

SetVCore(2);
ResetRadioCore();                      //复位Radio
InitRadio();                           //Radio 初始化
ReceiveOn();
receiving = 1;
transmitting=0;
_EINT();
   

while(1)
{
   
   //PrintLongInt(RxBuffer);

   
    }



#pragma vector=CC1101_VECTOR
__interrupt void CC1101_ISR(void)
{
    switch(__even_in_range(RF1AIV,32))      // Prioritizing Radio Core Interrupt
    {
    case 20:                              // RFIFG9
      if(receiving)                     // RX end of packet
      {
            ReadBurstReg(RXFIFO, RxBuffer, 6);
            
            for(uint8 i=0;i<6;i++)
            {
                #ifdef DEBUG0
                PrintShortInt(RxBuffer);
                Prints("\r\n");
                Prints("\r\n");
                #endif
            }
            Strobe( RF_SFRX );
            //Strobe( RF_SRX );   //接收使能
      }
      else
       if(transmitting)                  // TX end of packet
      {
            transmitting = 0;
            ReceiveOn();
            receiving = 1;
      }
      
      else
            break;
    default:    break;
    }
    //__bic_SR_register_on_exit(LPM4_bits);
}



请教各位大神~
页: [1]
查看完整版本: 关于CC430无线接受中断的问题