基于STM32驱动CC1101的程序分析 浅谈CC1101调试.doc
《基于STM32驱动CC1101的程序分析 浅谈CC1101调试.doc》由会员分享,可在线阅读,更多相关《基于STM32驱动CC1101的程序分析 浅谈CC1101调试.doc(10页珍藏版)》请在三一文库上搜索。
1、基于STM32驱动CC1101的程序分析 浅谈CC1101调试本文主要是关于CC1101的相关介绍,并着重对基于STM32驱动CC1101的程序进行了详尽的分析。基于STM32驱动CC1101的程序分析首先明确:CC1101是通过SPI与MCU进行通信的。根据从TI官方上获得CC1101驱动,直接先移植SPI部分,STM32F103提供了SPI1和SPI2两条SPI总线,可自行选择,对于SPI的移植,直接参考STM32开发板上关于通过SPI操作Flash示例代码,对于SPI的配置与TI提供的驱动代码里的SPI配置保持一致。SPI移植完成之后,接上CC1101射频模块,测试SPI是否能正常通信,
2、主要通过向CC1101任意可读可写寄存器写一个任意值,然后再读出该寄存器里的值,通过串口打印出该值,通过以上操作判断SPI是否正常通信,SPI移植是否成功。当然,这里使用到了串口,所以需要同时将串口的代码实现,同样参考串口实例。其次,当STM32与CC1101的SPI通信完成后,果断开始CC1101后续驱动的移植。移植过程中,所有变量名、函数名与TI提供的驱动里的保持一致,当然CC1101寄存器配置也保持移植。对于移植初期,我并没有太多的关心CC1101的时序问题,只关心怎么去移植,这也是自己的一个不好的习惯,所以初期移植的时候,对着TI提供的驱动代码,TI代码里有什么函数,我也移植什么函数;
3、函数里有CS管脚的操作,也对应在操作在STM32下定义的CS管脚;TI里延时多长,我也跟着在STM32下延时相应的时间。整个驱动移植下来,关于CC1101的驱动函数也大多了然在心了。/* CC1101 433MHz无线模块相互通信* 2014-11-16*/#include “stm32f10x.h”#include “cc1101.h”#include “led.h”/*NVIC控制器配置*/组号 抢占位数 子优先级数量/ 组0 0 4/ 组1 1 3/ 组2 2 2/ 组3 3 1/ 组4 4 0#define NVIC_PRIORITY_GROUP_0 (7 - 0)#define NV
4、IC_PRIORITY_GROUP_1 (7 - 1)#define NVIC_PRIORITY_GROUP_2 (7 - 2)#define NVIC_PRIORITY_GROUP_3 (7 - 3)#define NVIC_PRIORITY_GROUP_4 (7 - 4)#define NVIC_PRIORITY_GROUP (NVIC_PRIORITY_GROUP_2) /* 设置为组2 */#include “RF_Send.h”/#include “task.h”/*更多功率参数设置可详细参考DATACC1100英文文档中第48-49页的参数表*/INT8U PaTabel8 = 0
5、x04 ,0x04 ,0x04 ,0x04 ,0x04 ,0x04 ,0x04 ,0x04; /-30dBm 功率最小/INT8U PaTabel8 = 0x17,0x17 ,0x17 ,0x17 ,0x17 ,0x17,0x17 ,0x17; /-20dBm/INT8U PaTabel8 = 0x1D,0x1D ,0x1D ,0x1D ,0x1D ,0x1D,0x1D ,0x1D; /-15dBm/INT8U PaTabel8 = 0x26,0x26 ,0x26 ,0x26 ,0x26 ,0x26,0x26 ,0x26; /-10dBm/INT8U PaTabel8 = 0x37,0x37
6、,0x37 ,0x37 ,0x37 ,0x37,0x37 ,0x37; /-6dBm/INT8U PaTabel8 = 0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60;/0dBm/INT8U PaTabel8 = 0x86,0x86 ,0x86 ,0x86 ,0x86 ,0x86,0x86 ,0x86; /5dBmconst u8 PaTabel8 = 0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0;/12dBmu8 RF_Read_Buff64;/接收缓冲区_RF_Sta RF_Sta;/RF状态/c
7、onst RF_SETTINGS rfSettings =0x00,0x08, / FSCTRL1 Frequency synthesizer control.0x00, / FSCTRL0 Frequency synthesizer control.0x10, / FREQ2 Frequency control word, high byte.0xA7, / FREQ1 Frequency control word, middle byte.0x62, / FREQ0 Frequency control word, low byte.0x5B, / MDMCFG4 Modem configu
8、ration.0xF8, / MDMCFG3 Modem configuration.0x03, / MDMCFG2 Modem configuration.0x22, / MDMCFG1 Modem configuration.0xF8, / MDMCFG0 Modem configuration.0x00, / CHANNR Channel number.0x47, / DEVIATN Modem deviation setting (when FSK modulation is enabled)。0xB6, / FREND1 Front end RX configuration.0x10
9、, / FREND0 Front end RX configuration.0x18, / MCSM0 Main Radio Control State Machine configuration./ 0x0F, / MCSM1 Main Radio Control State Machine configuration.0x1D, / FOCCFG Frequency Offset Compensation Configuration.0x1C, / BSCFG Bit synchronization Configuration.0xC7, / AGCCTRL2 AGC control.0x
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于STM32驱动CC1101的程序分析 浅谈CC1101调试 基于 STM32 驱动 CC1101 程序 分析 浅谈 调试
链接地址:https://www.31doc.com/p-3412252.html