亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.c

?? MSP430F2274單片機和CC2500的無線通信程序
?? C
字號:
//----------------------------------------------------------------------------
//  Demo Application for MSP430/CC1100-2500 Interface Code Library v1.0
//
//  K. Quiring
//  Texas Instruments, Inc.
//  July 2006
//  IAR Embedded Workbench v3.41
//08年7月29日,弄了Lpm3中斷響應,TI_CC_RF_FREQ  2400還是只能接收一次,
//TI_CC_RF_FREQ 弄了Lpm3中斷響應401還是能接收多次,不能保證每時都收到東西
//7月30日-wor狀態成功,沒有弄狀態轉換   
//----------------------------------------------------------------------------



#include "include.h"

//#define _TRANSMITTER
#define _RECEIVER
//#define _SWOR

extern char paTable[];        //功率能量
extern char paTableLen;

char txBuffer1[] = {0x08,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08}; //第一個字節是發送的數據長度,第二個字節是地址
char txBuffer2[] = {0x08,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01}; //第一個字節是發送的數據長度,第二個字節是地址

char rxBuffer[8];
char next,last,first,third,forth,fifth,n;
unsigned int i;

void main (void)
{

   char  j = 0;
   char len1;    //Len of pkt to be RXed (only addr
   
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  
  TI_CC_GDO0_PxDIR &= ~TI_CC_GDO0_PIN;         //設GDOO為輸入狀
  BCSCTL1 = CALBC1_1MHZ;                    // Set DCO after random function
  DCOCTL = CALDCO_1MHZ;
  P2SEL &=0x00;
  IFG1 &= ~OFIFG;
  TI_CC_Wait(30);
  
  TI_CC_SPISetup();                         // Initialize SPI port -modify-

  TI_CC_PowerupResetCCxxxx();               // Reset CCxxxx,TI_CC_SPI.c
  writeRFSettings();                        // Write RF settings to config reg
  //設置功率
  TI_CC_SPIWriteBurstReg(TI_CCxxx0_PATABLE, paTable, paTableLen);//Write PATABLE  memory locations:TI_CCxxx0_PATABLE=0x3f
  TI_CC_LED_PxDIR |= TI_CC_LED1 + TI_CC_LED2;              //點亮LED1; 
  TI_CC_LED_PxOUT &= ~(TI_CC_LED1 + TI_CC_LED2);
  TI_CC_GDO0_PxDIR &= ~TI_CC_GDO0_PIN;       //設置GDO0為輸入; 
  TI_CC_GDO0_PxSEL &= ~TI_CC_GDO0_PIN;       //設置P2.6腳為I/O端口; 
  TI_CC_GDO0_PxIES |= TI_CC_GDO0_PIN;       //下降沿觸發中斷; 
  TI_CC_GDO0_PxIFG &= ~TI_CC_GDO0_PIN;      // 清除中斷標志; 
  TI_CC_GDO0_PxIE |= TI_CC_GDO0_PIN;        // 使能中斷總允許; 
  TI_CC_SPIStrobe(TI_CCxxx0_SIDLE);        ////設置芯片為空閑狀態; 
  TI_CC_SPIStrobe(TI_CCxxx0_SPWD);        ////設置芯片為sleep狀態;
  
  TI_CC_SW_PxIES = TI_CC_SW3;                     //按鍵選擇下降沿觸發    
  TI_CC_SW_PxIFG &= ~(TI_CC_SW3);                //清除按鍵中斷請求    
  TI_CC_SW_PxIE = TI_CC_SW3;                     //按鍵中斷使能    
  TI_CC_LED_PxDIR = TI_CC_LED1;                  //設定輸出狀態 
  
  


#ifdef _RECEIVER
  TI_CC_SPIStrobe(TI_CCxxx0_SIDLE); 
  TI_CC_SPIStrobe(TI_CCxxx0_SRX);           // Initialize CCxxxx in RX mode. 
#endif 
  //如果接收到數據,則激活MCU                // When a pkt is received, it will 
                                            // signal on GDO0 and wake CPU 
  //_BIS_SR(LPM3_bits + GIE);                 //省電模式 Enter LPM3, enable interrupts 
#ifdef _SWOR
  TI_CC_SPIStrobe(TI_CCxxx0_SIDLE); 
  TI_CC_SPIStrobe(TI_CCxxx0_SWORRST);       // Initialize CCxxxx WOR Timer.
  TI_CC_SPIStrobe(TI_CCxxx0_SWOR);          // Start off in WOR mode.
#endif /* _SWOR */  

  //TI_CC_LED_PxDIR &= ~TI_CC_SW1; 
while(1)
{
   // Len of pkt to be RXed (only addr
                                          // plus data; size byte not incl b/c
     
   
#ifdef _TRANSMITTER
  for(len1=0;len1<500;len1++)
 if(j) 
 {
   /*TI_CC_Wait(30000);
   TI_CC_Wait(30000);
   TI_CC_Wait(30000);
   TI_CC_Wait(30000);*/
   RFSendPacket(txBuffer1, 9);                 // Send value over RF
   TI_CC_LED_PxOUT  |= TI_CC_LED2 + TI_CC_LED1;
   TI_CC_Wait(60000);
   
   RFSendPacket(txBuffer2, 9); 
   TI_CC_LED_PxOUT  &= ~(TI_CC_LED2 + TI_CC_LED1);
   TI_CC_Wait(60000);
 
   RFSendPacket(txBuffer2, 9); 
   TI_CC_Wait(60000);

   RFSendPacket(txBuffer2, 9); 
   TI_CC_Wait(60000);


   j = 0;
 }
 else
  {
   /*TI_CC_Wait(30000);
   TI_CC_Wait(30000);
   TI_CC_Wait(30000);
   TI_CC_Wait(30000);
   TI_CC_Wait(30000);*/
   RFSendPacket(txBuffer2, 9);                 // Send value over RF
   TI_CC_LED_PxOUT  |= TI_CC_LED2 + TI_CC_LED1;
   TI_CC_Wait(60000);
 
   RFSendPacket(txBuffer2, 9); 
   TI_CC_LED_PxOUT  &= ~(TI_CC_LED2 + TI_CC_LED1);
   TI_CC_Wait(60000);

   RFSendPacket(txBuffer2, 9); 
   TI_CC_Wait(60000);

    RFSendPacket(txBuffer2, 9); 
   TI_CC_Wait(60000);
   j = 1;
 } 
 
   if (RFReceivePacket(rxBuffer,&len1))       // Fetch packet from CCxxxx
              // Toggle LEDs according to pkt data
  TI_CC_SPIStrobe(TI_CCxxx0_SFRX);//不能和RFReceivePacket()分得太遠
  TI_CC_SPIStrobe(TI_CCxxx0_SIDLE); 
  TI_CC_SPIStrobe(TI_CCxxx0_SRX);//后面的延時比較難調
  TI_CC_Wait(60000);    //要調的延時
  TI_CC_Wait(60000);    //要調的延時
  TI_CC_Wait(60000);  
   _BIS_SR(LPM3_bits + GIE);
#endif 
#ifdef _RECEIVER
  /* RFReceivePacket(rxBuffer,&len1);
  
      TI_CC_Wait(30000);
      
   //_BIS_SR(LPM3_bits + GIE);
    */
    ///TI_CC_Wait(30);
  
     if (RFReceivePacket(rxBuffer,&len1))       // Fetch packet from CCxxxx
      //next++;  
         // Toggle LEDs according to pkt data
      TI_CC_SPIStrobe(TI_CCxxx0_SFRX);//不能和RFReceivePacket()分得太遠
      TI_CC_SPIStrobe(TI_CCxxx0_SIDLE); 
      TI_CC_SPIStrobe(TI_CCxxx0_SRX);//后面的延時比較難調
      TI_CC_Wait(30000);    //要調的延時
      TI_CC_Wait(30000);    //要調的延時
      TI_CC_Wait(30000);    //要調的延時
   
 
    // _EINT();                              // Enable interrupts
    _BIS_SR(LPM0_bits + GIE);
#endif 

#ifdef _SWOR
  if (RFReceivePacket(rxBuffer,&len1))       // Fetch packet from CCxxxx
      j++;//next++;  
         // Toggle LEDs according to pkt data
      //TI_CC_SPIStrobe(TI_CCxxx0_SFRX);//不能和RFReceivePacket()分得太遠
      //TI_CC_SPIStrobe(TI_CCxxx0_SIDLE); 
     // TI_CC_SPIStrobe(TI_CCxxx0_SWORRST);       // Initialize CCxxxx WOR Timer.
      //TI_CC_SPIStrobe(TI_CCxxx0_SWOR); //后面的延時比較難調
      TI_CC_Wait(30000);    //要調的延時
      TI_CC_Wait(30000);    //要調的延時
      TI_CC_Wait(30000);    //要調的延時
      _BIS_SR(LPM3_bits + GIE);
#endif /* _SWOR */  
  ///if (RFReceivePacket(rxBuffer,&len))       // Fetch packet from CCxxxx
 ///  TI_CC_LED_PxOUT ^= rxBuffer[1];        // Toggle LEDs according to pkt data
  //for(j = 2;j >=0;j--)
 // {rxBuffer[j] = 0;}*/
 // txBuffer[0] = 0x02;                           // Packet length
 // j = txBuffer[0];
 // txBuffer[1] = 0x01;                        // Packet address
  //j = txBuffer[1];
  //txBuffer[2] = (~TI_CC_SW3) & 0x0F;// Load four switch inputs
 // j = txBuffer[2];

}
  /*
  // Configure ports -- switch inputs, LEDs, GDO0 to RX packet info from CCxxxx
  TI_CC_SW_PxIES = TI_CC_SW3;///+TI_CC_SW2+TI_CC_SW1+TI_CC_SW4;//Int on falling edge
  TI_CC_SW_PxIFG &= ~(TI_CC_SW3//TI_CC_SW1+TI_CC_SW2++TI_CC_SW4//);//Clr flags
  TI_CC_SW_PxIE = TI_CC_SW3;///+TI_CC_SW2+TI_CC_SW1+TI_CC_SW4;//Activate enables
  TI_CC_LED_PxDIR = TI_CC_LED1 + TI_CC_LED2;/// + TI_CC_LED3 + TI_CC_LED4; //Outputs
  TI_CC_GDO0_PxIES |= TI_CC_GDO0_PIN;       // Int on falling edge (end of pkt)
  TI_CC_GDO0_PxIFG &= ~TI_CC_GDO0_PIN;      // Clear flag
  TI_CC_GDO0_PxIE |= TI_CC_GDO0_PIN;        // Enable int on end of packet

  TI_CC_SPIStrobe(TI_CCxxx0_SRX);           // Initialize CCxxxx in RX mode.
                                            // When a pkt is received, it will
                                            // signal on GDO0 and wake CPU
  ////TI_CC_SPIStrobe(TI_CCxxx0_SIDLE);
  ////TI_CC_SPIStrobe(TI_CCxxx0_SPWD);
  _BIS_SR(LPM3_bits + GIE);*/                 // Enter LPM3, enable interrupts
  
}


// The ISR assumes the interrupt came from a press of one of the four buttons
// and therefore does not check the other four inputs.
/*#pragma vector=PORT1_VECTOR
__interrupt void port1_ISR (void)
{
  // Build packet
  TI_CC_LED_PxDIR |= TI_CC_LED2 ; //led green 
  txBuffer[0] = 2;                           // Packet length
  txBuffer[1] = 0x01;                        // Packet address
  txBuffer[2] = (~TI_CC_SW_PxIN >> 4) & 0x0F;// Load four switch inputs
  TI_CC_SPIStrobe(TI_CCxxx0_SIDLE);           // 切到空閑狀態
  RFSendPacket(txBuffer, 3);                 // Send value over RF
  
  P1IFG &= ~(TI_CC_SW3  //TI_CC_SW1+TI_CC_SW2++TI_CC_SW4);//Clr flag that caused int
  P2IFG &= ~TI_CC_GDO0_PIN;                  // After pkt TX, this flag is set.
  
}      */                                      // Clear it.



// The ISR assumes the int came from the pin attached to GDO0 and therefore
// does not check the other seven inputs.  Interprets this as a signal from
// CCxxxx indicating packet received.
#ifdef _RECEIVER
#pragma vector=PORT2_VECTOR
__interrupt void port2_ISR (void)
{ 
                              // disEnable interrupts
  char len; // Len of pkt to be RXed (only addr
                                          // plus data; size byte not incl b/c
  next++;                                         // stripped away within RX function)
              // Clear flag 在這里才能在調試狀態下不斷進入中斷
 // TI_CC_SPIStrobe(TI_CCxxx0_SRX);//后面的延時比較難調
  if (RFReceivePacket(rxBuffer,&len))       // Fetch packet from CCxxxx
              // Toggle LEDs according to pkt data
  TI_CC_SPIStrobe(TI_CCxxx0_SFRX);//不能和RFReceivePacket()分得太遠
  TI_CC_SPIStrobe(TI_CCxxx0_SIDLE); 
  TI_CC_SPIStrobe(TI_CCxxx0_SRX);//后面的延時比較難調
  TI_CC_Wait(60000);    //要調的延時
  TI_CC_Wait(60000);    //要調的延時
  TI_CC_Wait(60000);    //要調的延時
 
  
  n=rxBuffer[7];
  

if(n==0x08)
 // if(rxBuffer[1]==0x02)
  {
    first++;
    TI_CC_LED_PxOUT ^= TI_CC_LED1;
    TI_CC_Wait(30000);    //要調的延時
    TI_CC_Wait(30000);    //要調的延時 
   
  }
else if (n==0x02)

    {
    last++;
  TI_CC_LED_PxOUT ^= TI_CC_LED2;
 
  TI_CC_Wait(30000);    //要調的延時
  TI_CC_Wait(30000);    //要調的延時 

  }
else if (n== 0x03) third++;
else if(n== 0x04) forth++;
else if(n== 0x01)
  {
         fifth++;
         TI_CC_LED_PxOUT ^= TI_CC_LED1;
         TI_CC_Wait(30000);    //要調的延時
         TI_CC_Wait(30000);    //要調的延時 
  }
  P2IFG &= ~TI_CC_GDO0_PIN;  
}
    

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
首页亚洲欧美制服丝腿| 蜜芽一区二区三区| 欧美丰满高潮xxxx喷水动漫| 精品一区二区免费| 亚洲欧美韩国综合色| 日韩精品一区二| 色悠久久久久综合欧美99| 青草av.久久免费一区| 亚洲男女毛片无遮挡| 精品国产乱码久久| 欧美精品1区2区3区| 97精品电影院| 国产精品亚洲а∨天堂免在线| 亚洲一卡二卡三卡四卡五卡| 国产精品午夜电影| 精品成人在线观看| 91精品在线免费观看| 久久99精品网久久| 欧美性一区二区| 国产一区二区三区免费观看| 亚洲自拍偷拍网站| 欧洲av一区二区嗯嗯嗯啊| 国产激情精品久久久第一区二区 | 91福利视频久久久久| 国产精品18久久久久久vr| 五月综合激情网| 一区二区三区毛片| 日韩理论片网站| 国产精品看片你懂得| 久久久久久久久久久久久久久99| 91精品国产综合久久精品性色| 在线看不卡av| 欧美视频一区在线| 欧美午夜一区二区三区免费大片| 欧美日本视频在线| 精品中文字幕一区二区| 日韩精品电影一区亚洲| 国产成人精品在线看| 老汉av免费一区二区三区| 日本美女视频一区二区| 午夜精品福利一区二区蜜股av| 亚洲另类在线视频| 亚洲老妇xxxxxx| 亚洲精品水蜜桃| 亚洲影视资源网| 性做久久久久久免费观看欧美| 亚洲综合另类小说| 丝袜a∨在线一区二区三区不卡| 亚洲午夜免费电影| 亚洲小说春色综合另类电影| 五月综合激情日本mⅴ| 日韩电影在线观看一区| 免费观看在线综合| 免费观看久久久4p| 精品制服美女久久| 国产精品18久久久久| 99久久免费国产| 欧美亚洲图片小说| 91精品国产全国免费观看| 欧美成人综合网站| 久久精品亚洲精品国产欧美kt∨| 国产精品丝袜在线| 亚洲黄网站在线观看| 五月天丁香久久| 九色|91porny| 成人午夜激情视频| 在线免费观看日本欧美| 6080亚洲精品一区二区| 日韩精品一区二区三区三区免费 | 热久久久久久久| 国精产品一区一区三区mba桃花 | 日韩一区二区三区四区五区六区 | 26uuu久久综合| 国产精品网站在线播放| 一区二区高清免费观看影视大全 | 色综合天天天天做夜夜夜夜做| 欧美视频第二页| 精品福利在线导航| 亚洲视频一区在线| 日韩福利电影在线| www.亚洲人| 欧美一区二区视频观看视频| 国产视频一区二区在线观看| 伊人一区二区三区| 六月丁香婷婷色狠狠久久| 成人免费av在线| 69av一区二区三区| 亚洲欧美综合另类在线卡通| 日韩精品一区第一页| 成人激情免费电影网址| 欧美二区三区91| 中文字幕一区二区三区四区不卡| 午夜一区二区三区视频| 国产电影一区在线| 欧美一区二区三区婷婷月色| 国产精品久久久久久亚洲毛片 | 麻豆一区二区三| 一本大道久久a久久精二百| 欧美电影免费观看高清完整版| 亚洲三级在线免费| 国产乱码字幕精品高清av| 欧洲精品视频在线观看| 欧美国产国产综合| 日韩国产欧美在线视频| 91在线观看视频| 国产日本亚洲高清| 午夜成人免费视频| 91日韩在线专区| 国产日韩欧美精品一区| 免费观看一级欧美片| 欧美日韩激情一区二区| 亚洲视频一区在线观看| 国产ts人妖一区二区| 亚洲精品一区二区三区四区高清| 亚洲国产色一区| 97se亚洲国产综合自在线观| 久久久www免费人成精品| 日韩1区2区日韩1区2区| 欧美视频在线一区二区三区 | 久久国产精品99精品国产| 欧美视频日韩视频| 亚洲激情校园春色| 91亚洲精品一区二区乱码| 国产午夜精品久久| 国内外精品视频| 精品国产自在久精品国产| 日韩精品视频网| 678五月天丁香亚洲综合网| 亚洲国产精品一区二区www在线 | 国产精品99久久久久久似苏梦涵 | 亚洲精品乱码久久久久久黑人| 成人免费高清视频在线观看| 国产亚洲精品福利| 高清在线不卡av| 国产色综合一区| 丁香激情综合国产| 欧美激情艳妇裸体舞| 国产91精品精华液一区二区三区 | 精品一区二区三区久久久| 日韩欧美三级在线| 看片网站欧美日韩| 精品福利一区二区三区| 久草中文综合在线| 久久久午夜精品理论片中文字幕| 韩国三级电影一区二区| 26uuu精品一区二区三区四区在线| 狠狠色综合播放一区二区| 国产亚洲人成网站| 成人禁用看黄a在线| 亚洲欧美视频在线观看视频| 色婷婷亚洲一区二区三区| 亚洲一区二区综合| 在线成人高清不卡| 久久av资源网| 国产亚洲欧美一级| 99精品欧美一区二区三区小说 | 99精品热视频| 亚洲伊人色欲综合网| 在线播放一区二区三区| 裸体一区二区三区| 国产日韩欧美制服另类| 91免费国产在线| 天堂在线亚洲视频| 欧美大白屁股肥臀xxxxxx| 国产精品99久久久| 亚洲激情在线播放| 欧美一级片免费看| 国产.欧美.日韩| 亚洲自拍偷拍麻豆| 亚洲精品在线网站| 99久久国产综合精品女不卡| 亚洲一区二区五区| 精品久久一区二区| www.色精品| 日韩电影免费在线观看网站| 国产午夜精品一区二区三区嫩草 | 日韩午夜三级在线| 风间由美一区二区av101| 亚洲一区在线免费观看| 欧美sm美女调教| 91丨国产丨九色丨pron| 欧美aaa在线| 国产精品久久国产精麻豆99网站| 欧美人伦禁忌dvd放荡欲情| 国产麻豆精品在线| 亚洲国产综合91精品麻豆| 久久天堂av综合合色蜜桃网| 色狠狠一区二区三区香蕉| 黄色资源网久久资源365| 亚洲最大的成人av| 久久久久久亚洲综合影院红桃 | 欧美日韩高清一区| 国产成人8x视频一区二区| 亚洲va欧美va国产va天堂影院| 国产日韩欧美综合在线| 91精品国产色综合久久不卡电影 | 亚洲成av人影院| 国产欧美日韩在线观看| 日韩欧美黄色影院| 欧美体内she精高潮|