找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2020|回复: 0
打印 上一主题 下一主题
收起左侧

CC1101例程,测试OK

[复制链接]
跳转到指定楼层
楼主
  1. #include "CC1101.h"
  2. #include <string.h>
  3. //#include <stdio.h>
  4. #include <Delay.h>
  5. #include <ISM_Uart.h>

  6. uint8_t PartID_BUF=0; //@addr"0x30"
  7. uint8_t VersionID_BUF=0; //@addr"0x31"
  8. uint8_t FrequesBias_BUF=0; //@addr"0x32"
  9. uint8_t LQIVal_BUF=0;         //@addr"0x33"        
  10. uint8_t RSSI_BUF=0; //@addr"0x34"
  11. uint8_t MARCSTATE_BUF=0; //@addr"0x35"
  12. uint8_t WORTIME1_hBUF=0; //@addr"0x36"
  13. uint8_t WORTIME1_lBUF=0;         //@addr"0x37"        
  14. uint8_t WORTIME1_BUF=0; //@addr"0x38"
  15. uint8_t VCO_VC_DAC_PLL_BUF=0; //@addr"0x39"
  16. uint8_t TXBYTESunderOverflow_BUF=0; //@addr"0x3A"        
  17. uint8_t TXBYTESOverflow_BUF=0;//@addr"0x3B"
  18. uint8_t RCCTRL1_STATUS_BUF=0;//@addr"0x3C"
  19. uint8_t RCCTRL0_STATUS_BUF=0; //@addr"0x3D"
  20. uint8_t CC1101_FOCCFG_BUF=0;//
  21. uint8_t CC1101_WORCTRL_BUF=0;//
  22. uint8_t CC1101_FSCAL3_BUF=0;//
  23. uint8_t CC1101_FSCAL2_BUF=0;//
  24. uint8_t CC1101_FSCAL1_BUF=0; //
  25. uint8_t CC1101_FSCAL0_BUF=0;//
  26. uint8_t CC1101_TEST2_BUF=0; //
  27. uint8_t CC1101_TEST1_BUF=0;//
  28. uint8_t CC1101_MCSM1_BUF=0; //

  29. //const char *SendStrings="demoBoard";
  30. uint8_t rxBuffer[64] = {0};
  31. int main(void)
  32. {
  33.          uint8_t i = 0;
  34.    //SysClkInit();
  35.    //SystemInit();
  36.           //NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
  37.          
  38.          //UART1_Init(9600);        
  39.          Delay_init();
  40.          LED_Init();
  41.         
  42.          CC1101_SPI2_Init();           
  43.          CC1101Init( );
  44.         
  45.          for( i = 0; i < 6; i++ )
  46.          {
  47.                         Led_Flashing(LED1);
  48.                         Delay_500Ms(1);
  49.          }
  50.   #if 0  //read status register
  51.   PartID_BUF=CC1101ReadReg(CC1101_PARTNUM);//读芯片部件号@addr"0x30"
  52.         VersionID_BUF=CC1101ReadReg(CC1101_VERSION);//读芯片版本号@addr"0x31"
  53.         FrequesBias_BUF=CC1101ReadReg(CC1101_FREQEST);//读解调器频偏@addr"0x32"
  54.         LQIVal_BUF=CC1101ReadReg(CC1101_LQI);//读链路质量解调器评估@addr"0x33"
  55.         RSSI_BUF=CC1101ReadReg(CC1101_RSSI);//读接收信号强度指示@addr"0x34"
  56.         MARCSTATE_BUF=CC1101ReadReg(CC1101_MARCSTATE);//读主无线控制状态机状态@addr"0x35"
  57.         WORTIME1_hBUF=CC1101ReadReg(CC1101_WORTIME1);//读WOR 时间的高字节@addr"0x36"
  58.         WORTIME1_lBUF=CC1101ReadReg(CC1101_WORTIME0);//读WOR 时间的低字节@addr"0x37"
  59.         WORTIME1_BUF=CC1101ReadReg(CC1101_PKTSTATUS);//当前 GDOx 状态和数据包状态@addr"0x38"
  60.         VCO_VC_DAC_PLL_BUF=CC1101ReadReg(CC1101_VCO_VC_DAC);//读校准模块的当前设置@addr"0x39"
  61.         TXBYTESunderOverflow_BUF=CC1101ReadReg(CC1101_TXBYTES);//读下溢和字节数@addr"0x3A"
  62.         TXBYTESOverflow_BUF=CC1101ReadReg(CC1101_RXBYTES);//溢出和字节数@addr"0x3B"
  63.         RCCTRL1_STATUS_BUF=CC1101ReadReg(CC1101_RCCTRL1_STATUS);//最近的 RC 振荡器校准结果@addr"0x3C"
  64.         RCCTRL0_STATUS_BUF=CC1101ReadReg(CC1101_RCCTRL0_STATUS);//最近的 RC 振荡器校准结果@addr"0x3D"
  65.         #endif
  66.         
  67.         #if 0  //configuration register
  68.   PartID_BUF=CC1101ReadReg(CC1101_IOCFG0);//读芯片部件号@addr"0x30"
  69.         VersionID_BUF=CC1101ReadReg(CC1101_IOCFG2);//读芯片版本号@addr"0x31"
  70.         FrequesBias_BUF=CC1101ReadReg(CC1101_FIFOTHR);//读解调器频偏@addr"0x32"
  71.         LQIVal_BUF=CC1101ReadReg(CC1101_PKTCTRL0);//读链路质量解调器评估@addr"0x33"
  72.         RSSI_BUF=CC1101ReadReg(CC1101_CHANNR);//读接收信号强度指示@addr"0x34"
  73.         MARCSTATE_BUF=CC1101ReadReg(CC1101_FSCTRL1);//读主无线控制状态机状态@addr"0x35"
  74.         WORTIME1_hBUF=CC1101ReadReg(CC1101_FREQ2);//读WOR 时间的高字节@addr"0x36"
  75.         WORTIME1_lBUF=CC1101ReadReg(CC1101_FREQ1);//读WOR 时间的低字节@addr"0x37"
  76.         WORTIME1_BUF=CC1101ReadReg(CC1101_FREQ0);//当前 GDOx 状态和数据包状态@addr"0x38"
  77.         VCO_VC_DAC_PLL_BUF=CC1101ReadReg(CC1101_MDMCFG4);//读校准模块的当前设置@addr"0x39"
  78.         TXBYTESunderOverflow_BUF=CC1101ReadReg(CC1101_MDMCFG3);//读下溢和字节数@addr"0x3A"
  79.         TXBYTESOverflow_BUF=CC1101ReadReg(CC1101_MDMCFG2);//溢出和字节数@addr"0x3B"
  80.         RCCTRL1_STATUS_BUF=CC1101ReadReg(CC1101_DEVIATN);//最近的 RC 振荡器校准结果@addr"0x3C"
  81.         RCCTRL0_STATUS_BUF=CC1101ReadReg(CC1101_MCSM0);//最近的 RC 振荡器校准结果@addr"0x3D"
  82.         
  83.         CC1101_FOCCFG_BUF=CC1101ReadReg(CC1101_FOCCFG);//溢出和字节数@addr"0x3B"
  84.         CC1101_WORCTRL_BUF=CC1101ReadReg(CC1101_WORCTRL);//最近的 RC 振荡器校准结果@addr"0x3C"
  85.         CC1101_FSCAL3_BUF=CC1101ReadReg(CC1101_FSCAL3);//最近的 RC 振荡器校准结果@addr"0x3D"
  86.   CC1101_FSCAL2_BUF=CC1101ReadReg(CC1101_FSCAL2);//溢出和字节数@addr"0x3B"
  87.         CC1101_FSCAL1_BUF=CC1101ReadReg(CC1101_FSCAL1);//最近的 RC 振荡器校准结果@addr"0x3C"
  88.         CC1101_FSCAL0_BUF=CC1101ReadReg(CC1101_FSCAL0);//最近的 RC 振荡器校准结果@addr"0x3D"
  89.   CC1101_TEST2_BUF=CC1101ReadReg(CC1101_TEST2);//溢出和字节数@addr"0x3B"
  90.         CC1101_TEST1_BUF=CC1101ReadReg(CC1101_TEST1);//最近的 RC 振荡器校准结果@addr"0x3C"
  91.         CC1101_MCSM1_BUF=CC1101ReadReg(CC1101_MCSM1);//最近的 RC 振荡器校准结果@addr"0x3D"
  92.         #endif
  93.                           
  94.    while(1)
  95.    {  
  96.                   #if 0
  97.                   i=CC1101RxPacket(rxBuffer);                //接收字节
  98.                   if(i!=0)
  99.                   {
  100.                                 Led_Flashing(LED1);
  101.                                 
  102.                           UART1_TxBytes(rxBuffer,i);//RF rec pktlen
  103.                   }
  104.                   #elif 0
  105.       if(CC1101_GET_GDO0_STATUS( )==0)   //发送/接收开始->GDO0=0
  106.                   {
  107.         LED_ON(LED2);
  108.                           i=CC1101RxPacket(rxBuffer );                          
  109.                           UART1_TxBytes(rxBuffer,i);//RF rec pktlen
  110.                                 
  111.                                 CC1101SetIdle();                        
  112.                   }        
  113.       #else        
  114.                   CC1101ClrRxBuff();
  115.       CC1101SetTxRxMode(RX_MODE);
  116.                   Delay_500Ms(1);
  117.                         Delay_500Ms(1);
  118.                         Delay_500Ms(1);
  119.                         Delay_500Ms(1);

  120.       //CC1101ReceivePacket(rxBuffer,19);                 
  121.                         i=CC1101RxPacket(rxBuffer );                          
  122.                         //UART1_TxBytes(rxBuffer,i);//RF rec pktlen                                 
  123.                         //CC1101SetIdle();        
  124.                         if(i!=0)
  125.                         {
  126.                           Led_Flashing(LED1);
  127.                         }
  128.                         
  129.                         #endif        
  130.       //Delay1_MS(5000);                                      
  131.    }
  132. }
复制代码


全部资料51hei下载地址:
DemoCC1101_201811_V1.0.7z (625.4 KB, 下载次数: 44)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表