cc1120简单链接中TX与RX程序的解读

      本人并不是一个大神,只是在做比赛的时候需要认真理解CC1120的连接程序。在经过4、5天的认真学习之后,觉得还是有一些收获的,因此把它分享出来,希望对大家有些许帮助。好啦,言归正传,首先来介绍一下CC1120。CC1120是深圳市芯威科技有限公司专业开发的一款高性能单片收发器,适合面向ETSI1类符合169MHz和433MHz频带无线传感器网络和有源RFID的系统,为经济高效的无线系统在低功耗和低电压操作下实现高性能而设计。提供扩展硬件,以支持数据包处理、数据缓冲和突发传输、广播声道评估、链路质量指示和无线电唤醒。CC1120主要运行参数可以通过SPI接口控制。配合TI SmartRF05或SmartRF TRXEB开发板使用,在模块上通过调整P3短路帽的方面来确定接收或发射状态。CC1120是通过MSP430控制的,所以程序运行在MSP430上。

      CC1120的简单连接程序主要包括TX(发送数据)和RX(接收数据)两个C语言文件,这两个文件是完成CC1120之间通信的关键。

    TX文件中的头文件包括 "msp430.h"、 "lcd_dogm128_6.h"、 "hal_spi_rf_trxeb.h""cc112x_spi.h""stdlib.h""bsp.h""bsp_key.h"、 "io_pin_int.h""bsp_led.h""cc112x_easy_link_reg_config.h"。其中"msp430.h"是系统头文件,用于存放msp430的函数声明,其他头文件依次对应一些c语言文件。而后声明了一些宏,如下:

#define ISR_ACTION_REQUIRED     1  

#define ISR_IDLE                0

#define PKTLEN                  30  // 1 < PKTLEN < 126

#define GPIO3                   0x04

#define GPIO2                   0x08

#define GPIO0                   0x80

它们的含义为:

ISR_ACTION_REQUIRED 中断服务请求,ISR_IDLE 中断服务闲置,PKTLEN 包长度,GPIO3GPIO2GPIO0指通用输入输出接口。

下面是两个全局变量:

static uint8_t  packetSemaphore;  //包信号

uint16_t   packetCounter = 0;    //包计数

    其后是对该文件中出现的函数所做的声明,便于以后引用,在此不一一赘述。

    下面就是程序的主函数部分,主函数一共调用了三个函数,分别是:initMCU()、registerConfig()runTX()intMCU()用于微处理器的初始化,registerConfig()用于设置广播寄存器,runTX()用于发送无线信号。

    首先,initMCU()中调用的都是MCP430的系统初始化程序,具体的实现就不一一赘述,可在bsp程序包中找到,下面我只说它们的功能。 bspInit(BSP_SYS_CLK_8MHZ) 实现了时钟以及输入输出的初始化&

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值