微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 433MHz模块stm8、cc1101

433MHz模块stm8、cc1101

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

  1. CC1101_WriteReg(CC1101_REG_SYNC1,0xD3);//同步词汇,高字节
  2. CC1101_WriteReg(CC1101_REG_SYNC0,0x91);//同步词汇,低字节
  3. CC1101_WriteReg(CC1101_REG_PKTLEN,CC1101_DATA_LEN);//数据包长度,255
  4. CC1101_WriteReg(CC1101_REG_PKTCTRL1,0x04);//数据包自动控制
  5. CC1101_WriteReg(CC1101_REG_PKTCTRL0,0x04);//数据包自动控制
  6. CC1101_WriteReg(CC1101_REG_ADDR,0x00);//设备地址
  7. CC1101_WriteReg(CC1101_REG_CHANNR,0x00);//信道
  8. CC1101_WriteReg(CC1101_REG_FSCTRL1,0x06);//频率合成器控制,高字节
  9. CC1101_WriteReg(CC1101_REG_FSCTRL0,0x00);//频率合成器控制,低字节
  10. CC1101_WriteReg(CC1101_REG_FREQ2,0x10);//频率控制词汇,高字节
  11. CC1101_WriteReg(CC1101_REG_FREQ1,0xb1);//频率控制词汇,中间字节
  12. CC1101_WriteReg(CC1101_REG_FREQ0,0x3b);//频率控制词汇,低字节
  13. //2.4KBPS
  14. CC1101_WriteReg(CC1101_REG_MDMCFG4,0xF6);//调制器配置
  15. CC1101_WriteReg(CC1101_REG_MDMCFG3,0x83);//调制器配置
  16. CC1101_WriteReg(CC1101_REG_MDMCFG2,0x13);//调制器配置
  17. CC1101_WriteReg(CC1101_REG_MDMCFG1,0x22);//调制器配置
  18. CC1101_WriteReg(CC1101_REG_MDMCFG0,0xf8);//调制器配置
  19. CC1101_WriteReg(CC1101_REG_DEVIATN,0x15);//调制器背离设置
  20. CC1101_WriteReg(CC1101_REG_MCSM2,0x07);//主通信控制状态机配置
  21. CC1101_WriteReg(CC1101_REG_MCSM1,0x30);//主通信控制状态机配置
  22. CC1101_WriteReg(CC1101_REG_MCSM0,0x18);//主通信控制状态机配置
  23. CC1101_WriteReg(CC1101_REG_FOCCFG,0x16);//频率偏移补偿配置
  24. CC1101_WriteReg(CC1101_REG_BSCFG,0x6c);//位同步配置
  25. CC1101_WriteReg(CC1101_REG_AGCTRL2,0x03);//AGC控制
  26. CC1101_WriteReg(CC1101_REG_AGCTRL1,0x40);//AGC控制
  27. CC1101_WriteReg(CC1101_REG_AGCTRL0,0x91);//AGC控制
  28. CC1101_WriteReg(CC1101_REG_WOREVT1,0x87);//高字节时间0暂停
  29. CC1101_WriteReg(CC1101_REG_WOREVT0,0x6b);//低字节时间0暂停
  30. CC1101_WriteReg(CC1101_REG_WORCTRL,0xfb);//电磁波激活控制
  31. CC1101_WriteReg(CC1101_REG_FREND1,0x56);//前末端RX配置
  32. CC1101_WriteReg(CC1101_REG_FREND0,0x10);//前末端TX配置
  33. CC1101_WriteReg(CC1101_REG_FSCAL3,0xe9);//频率合成器校准
  34. CC1101_WriteReg(CC1101_REG_FSCAL2,0x2a);//频率合成器校准
  35. CC1101_WriteReg(CC1101_REG_FSCAL1,0x00);//频率合成器校准
  36. CC1101_WriteReg(CC1101_REG_FSCAL0,0x1f);//频率合成器校准
  37. CC1101_WriteReg(CC1101_REG_RCCTRL1,0x41);//RC振荡器配置
  38. CC1101_WriteReg(CC1101_REG_RCCTRL0,0x00);//RC振荡器配置
  39. CC1101_WriteReg(CC1101_REG_FSTEST,0x59);//频率合成器校准控制
  40. //10DB
  41. //CC1101_WriteReg(CC1101_REG_PATABLE0,0xc0);
  42. //CC1101_WriteReg(CC1101_REG_PATABLE1,0xc0);
  43. /*CC1101_WriteReg(CC1101_REG_PATABLE2,0xc0);
  44. CC1101_WriteReg(CC1101_REG_PATABLE3,0xc0);
  45. CC1101_WriteReg(CC1101_REG_PATABLE4,0xc0);
  46. CC1101_WriteReg(CC1101_REG_PATABLE5,0xc0);
  47. CC1101_WriteReg(CC1101_REG_PATABLE6,0xc0);
  48. CC1101_WriteReg(CC1101_REG_PATABLE7,0xc0);*/
  49. Delay_MS(10);
  50. }
  51. /*
  52. *函数:voidCC1101_WriteTxFIFO(u8*pBuff,u8len)
  53. *功能:写入数据到发送缓冲区
  54. *参数:pBuff:需要写入的数据缓冲区指针,len:需要写入的数据长度
  55. *返回:无
  56. *依赖:底层宏定义
  57. *作者:cp1300@139.com
  58. *时间:2014-01-01
  59. *最后修改时间:2014-01-01
  60. *说明:写入数据到发送FIFO
  61. */
  62. voidCC1101_WriteTxFIFO(u8*pBuff,u8len)
  63. {
  64. u16i;
  65. CC1101_CS_L();
  66. CC1101_ReadWriteByte(BURST_WRITE_FIFO);
  67. for(i=0;i
  68. {
  69. CC1101_ReadWriteByte(pBuff[i]);
  70. }
  71. CC1101_CS_H();
  72. }
  73. /*
  74. *函数:voidCC1101_ReadRxFIFO(u8*pBuff,u8len)
  75. *功能:读取接收缓冲区
  76. *参数:pBuff:需要读取的数据缓冲区指针,len:需要读取的数据长度
  77. *返回:无
  78. *依赖:底层宏定义
  79. *作者:cp1300@139.com
  80. *时间:2014-01-01
  81. *最后修改时间:2014-01-01
  82. *说明:从接收FIFO读取数据
  83. */
  84. voidCC1101_ReadRxFIFO(u8*pBuff,u8len)
  85. {
  86. u16i;
  87. CC1101_CS_L();
  88. CC1101_ReadWriteByte(BURST_READ_FIFO);
  89. for(i=0;i
  90. {
  91. pBuff[i]=CC1101_ReadWriteByte(0xff);
  92. }
  93. CC1101_CS_H();
  94. }
  95. //发送数据,将缓冲区数据全部发送出去
  96. //一次最多64B,因为受到FIFO限制
  97. voidCC1101_RfDataSend(u8*pBuff,u8len)
  98. {
  99. CC1101_Command(CC1101_CMD_SIDLE);//退出当前模式
  100. CC1101_Command(CC1101_CMD_SFTX);//清空发送缓冲区
  101. CC1101_WriteTxFIFO(pBuff,len);//写入数据到发送缓冲区
  102. CC1101_Command(CC1101_CMD_STX);//开始发送数据

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

网站地图

Top