⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test-cc2500.c

📁 cc2500 测试程序
💻 C
字号:


#include  <msp430x16x.h>

#include "common.h"



 unsigned char paTable_CC1100[8] = {0xc0, 0xc8, 0x84, 0x51, 0x3f, 0x34, 0x1c, 0x6c };	//CC1100发射功率表
 unsigned char paTable_CC2500[8] = {0xFF, 0xFE, 0xBB, 0xA9, 0x7F, 0x6E, 0x97, 0xC5 };	//CC2500发射功率表
unsigned char txBuffer_CCxx00[0x21] = {0x02, 1, 1,1,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};	//发射缓冲
//				                  LENGTH,KEYCODE,FLAG,DATA0,DATA1.....	
unsigned char rxBuffer_CCxx00[0x20];			//接收缓冲
//static BYTE dpybuffer[10]={0x11,0xF9,0x23,0x61,0xC9,0x45,0x05,0xF1,0x01,0x41};//数码管显示的数据:0,1,2,3,4,5,6,7,8,9
unsigned char TXBuffer[0x26]={0x55,0x55,0x55,0x55,0x55,0xCA,0x01,0x01}; //cc1000
unsigned char RXBuffer[0x20];	
unsigned char status[2];

unsigned char systemerr,PacketLength,uart_data_ok,rx_buf;
unsigned char Rssi;


void main(void)
{



            unsigned int i;
         //   unsigned char j;

            WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT


            BCSCTL1 &= ~XT2OFF;                       // XT2on

            do
            {
                     IFG1 &= ~OFIFG;                  // Clear OSCFault flag
                     for (i = 0xFF; i > 0; i--);      // Time for flag to set
            }
            while ((IFG1 & OFIFG));                   // OSCFault flag still set?

            BCSCTL2 |= SELM_2 + SELS;                 // MCLK = SMCLK = XT2 (safe)

            for(i=0;i<30;i++)
            Software_delay(50000);


            P1DIR =0xC4;
            P1OUT =0x04;

//-------------------------------- 串口 1 设置程序19200 (RS485)-------------------------------------//


           P3SEL |= 0x30;                            // P3.4,5 = USART0 TXD/RXD

           ME1 |= UTXE0 + URXE0;                     // Enable USART0 TXD/RXD
           UCTL0 |= CHAR;                            // 8-bit character
           UTCTL0 |= SSEL1;                          // UCLK = SMCLK
           UBR00 = 0xA1;                             // 8Mhz/19200 ~ 417
           UBR10 = 0x01;                             //
           UMCTL0 = 0x00;                            // no modulation
           UCTL0 &= ~SWRST;                          // Initialize USART state machine
           IE1 |= URXIE0;                            // Enable USART0 RX interrupt

//--------------------------------------------------------------------------------------------------//

            for(i=0;i<30;i++)
            Software_delay(50000);

            SetupCC2500();

            for(i=0;i<30;i++)
            Software_delay(50000);

            uart_data_ok=0;


             _EINT();




            while(1)
            {

                 if(uart_data_ok)
		 {

			txBuffer_CCxx00[1]=rx_buf;

                        txBuffer_CCxx00[2]=1;

			TxCC2500();					//发射信息

			uart_data_ok=0;

		 }

                RXCC2500();

          //    for(j=0;j<10;j++)
         //     {
                 //    txBuffer_CCxx00[1]=j;
                //     TxCC2500();

              //      for(i=0;i<80;i++)
               //     Software_delay(50000);



           //   }



            }

}







#pragma vector=UART0RX_VECTOR
__interrupt void usart0_rx (void)
{


        if(uart_data_ok==0)
         {

                 rx_buf=RXBUF0;
                 uart_data_ok=1;
         }
        else
         {
                 send_uart0_a_byte(0xee);
         }


}






⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -