微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > CC1101 433无线模块,STM8串口透传

CC1101 433无线模块,STM8串口透传

时间:11-19 来源:互联网 点击:

  1. ta);//写入数据
  2. CC1101_CS_H();//片选关闭
  3. returnstatus;
  4. }
  5. #include"LED.h"
  6. voidCC1101_Init(u8Addr)
  7. {
  8. //初始化片选
  9. GPIOx_Init(GPIOA,BIT3,OUT_PP_10M);
  10. CC1101_CS_H();
  11. //初始化SCLK
  12. GPIOx_Init(GPIOC,BIT5,OUT_PP_10M);
  13. CC1101_SCLK_H();
  14. //初始化MOSI
  15. GPIOx_Init(GPIOC,BIT6,OUT_PP_10M);
  16. CC1101_MOSI_H();
  17. //初始化MISO
  18. GPIOx_Init(GPIOC,BIT7,IN_UP);
  19. CC1101_SCLK_L();
  20. CC1101_MOSI_L();
  21. //初始化GDO0,GDO2对应PC3,PC4
  22. GPIOx_Init(GPIOC,BIT3,IN_UP);
  23. GPIOx_Init(GPIOC,BIT4,IN_UP);
  24. //初始化寄存器
  25. CC1101_Command(CC1101_CMD_SRES);//复位
  26. Delay_MS(10);
  27. while(CC1101_ReadReg(CC1101_REG_AGCTEST)!=0x3F)//检测通信
  28. {
  29. LED_ON();
  30. Delay_MS(10);
  31. LED_OFF();
  32. Delay_MS(100);
  33. }
  34. LED_OFF();
  35. CC1101_WriteReg(CC1101_REG_IOCFG0,0x06);//发送提示引脚
  36. CC1101_WriteReg(CC1101_REG_IOCFG2,0x01);//接收提示引脚
  37. CC1101_WriteReg(CC1101_REG_FIFOTHR,0x0f);//RXFIFO和TXFIFO门限
  38. CC1101_WriteReg(CC1101_REG_SYNC1,0xD3);//同步词汇,高字节
  39. CC1101_WriteReg(CC1101_REG_SYNC0,0x91);//同步词汇,低字节
  40. CC1101_WriteReg(CC1101_REG_PKTLEN,CC1101_DATA_LEN);//数据包长度,255
  41. CC1101_WriteReg(CC1101_REG_PKTCTRL1,0x04);//数据包自动控制
  42. CC1101_WriteReg(CC1101_REG_PKTCTRL0,0x04);//数据包自动控制
  43. CC1101_WriteReg(CC1101_REG_ADDR,0x00);//设备地址
  44. CC1101_WriteReg(CC1101_REG_CHANNR,0x00);//信道
  45. CC1101_WriteReg(CC1101_REG_FSCTRL1,0x06);//频率合成器控制,高字节
  46. CC1101_WriteReg(CC1101_REG_FSCTRL0,0x00);//频率合成器控制,低字节
  47. CC1101_WriteReg(CC1101_REG_FREQ2,0x10);//频率控制词汇,高字节
  48. CC1101_WriteReg(CC1101_REG_FREQ1,0xb1);//频率控制词汇,中间字节
  49. CC1101_WriteReg(CC1101_REG_FREQ0,0x3b);//频率控制词汇,低字节
  50. //2.4KBPS
  51. CC1101_WriteReg(CC1101_REG_MDMCFG4,0xF6);//调制器配置
  52. CC1101_WriteReg(CC1101_REG_MDMCFG3,0x83);//调制器配置
  53. CC1101_WriteReg(CC1101_REG_MDMCFG2,0x13);//调制器配置
  54. CC1101_WriteReg(CC1101_REG_MDMCFG1,0x22);//调制器配置
  55. CC1101_WriteReg(CC1101_REG_MDMCFG0,0xf8);//调制器配置
  56. CC1101_WriteReg(CC1101_REG_DEVIATN,0x15);//调制器背离设置
  57. CC1101_WriteReg(CC1101_REG_MCSM2,0x07);//主通信控制状态机配置
  58. CC1101_WriteReg(CC1101_REG_MCSM1,0x30);//主通信控制状态机配置
  59. CC1101_WriteReg(CC1101_REG_MCSM0,0x18);//主通信控制状态机配置
  60. CC1101_WriteReg(CC1101_REG_FOCCFG,0x16);//频率偏移补偿配置
  61. CC1101_WriteReg(CC1101_REG_BSCFG,0x6c);//位同步配置
  62. CC1101_WriteReg(CC1101_REG_AGCTRL2,0x03);//AGC控制
  63. CC1101_WriteReg(CC1101_REG_AGCTRL1,0x40);//AGC控制
  64. CC1101_WriteReg(CC1101_REG_AGCTRL0,0x91);//AGC控制
  65. CC1101_WriteReg(CC1101_REG_WOREVT1,0x87);//高字节时间0暂停
  66. CC1101_WriteReg(CC1101_REG_WOREVT0,0x6b);//低字节时间0暂停
  67. CC1101_WriteReg(CC1101_REG_WORCTRL,0xfb);//电磁波激活控制
  68. CC1101_WriteReg(CC1101_REG_FREND1,0x56);//前末端RX配置
  69. CC1101_WriteReg(CC1101_REG_FREND0,0x10);//前末端TX配置
  70. CC1101_WriteReg(CC1101_REG_FSCAL3,0xe9);//频率合成器校准
  71. CC1101_WriteReg(CC1101_REG_FSCAL2,0x2a);//频率合成器校准
  72. CC1101_WriteReg(CC1101_REG_FSCAL1,0x00);//频率合成器校准
  73. CC1101_WriteReg(CC1101_REG_FSCAL0,0x1f);//频率合成器校准
  74. CC1101_WriteReg(CC1101_REG_RCCTRL1,0x41);//RC振荡器配置
  75. CC1101_WriteReg(CC1101_REG_RCCTRL0,0x00);//RC振荡器配置
  76. CC1101_WriteReg(CC1101_REG_FSTEST,0x59);//频率合成器校准控制
  77. //10DB
  78. //CC1101_WriteReg(CC1101_REG_PATABLE0,0xc0);
  79. //CC1101_WriteReg(CC1101_REG_PATABLE1,0xc0);
  80. /*CC1101_WriteReg(CC1101_REG_PATABLE2,0xc0);
  81. CC1101_WriteReg(CC1101_REG_PATABLE3,0xc0);
  82. CC1101_WriteReg(CC1101_REG_PATABLE4,0xc0);
  83. CC1101_WriteReg(CC1101_REG_PATABLE5,0xc0);
  84. CC1101_WriteReg(CC1101_REG_PATABLE6,0xc0);
  85. CC1101_WriteReg(CC1101_REG_PATABLE7,0xc0);*/
  86. Delay_MS(10);
  87. }
  88. /*************************************************************************************************************************
  89. *函数:voidCC1101_WriteTxFIFO(u8*pBuff,u8len)
  90. *功能:写入数据到发送缓冲区
  91. *参数:pBuff:需要写入的数据缓冲区指针,len:需要写入的数据长度
  92. *返回:无
  93. *依赖:底层宏定义
  94. *作者:cp1300@139.com
  95. *时

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top