TI CC2530 学习笔记-10-NewBit-CC2530-UART0-接收
功能:串口接收数据的功能,向CC2530模块发送"1"则底板上的红色LED打开,发送"0"则底板上的红色LED关闭,发送"2"则改变LED状态。
定时器的功能就是超时接收,超时接收:UART收到两个字节间的时间大于设定时间(本程序为1ms)则表示这两个字节是分开发送的,是两个数据帧。
- 初始化LED,UART,定时器;定时器用于超时接收
halMcuWaitUs(10000); //等待时间稳定,约10ms
CLKCONCMD &= ~0x47; //选择外部32MHZ时钟, 不分频
//TICKSPD不改变,保持为0x01,即定时器标记频率为16MHz
while( (CLKCONSTA & 0x47) != 0x00 ); //切换时钟源后再次等待稳定
P0DIR |= 0x40; //配置IO为输出
/* 初始化串口 */
P0SEL |= 0x0C; //将P02,P03设为外设功能
PERCFG &= ~0x01; //串口0占用P02 P03
U0CSR = 0X80; //USART模式设为UART模式
U0UCR = 0x00; //禁用流控,禁用奇偶检验,1位停止位
U0CSR |= 0x40; //允许接收
U0GCR |= 8; //9600
U0BAUD = 59;
IEN0 |= 0x04; //开串口0接收中断
/* 初始化定时器4*/
T4CTL = 0xE2; //128分频(0.125Mhz),8us,模模式
T4CCTL0 = 0x04; //比较模式
T4CC0 = 125; //溢出值,8*125 = 1000 = 1ms
T4CTL |= 0x08;
T4CCTL0 |= 0x40;//开T1通道0中断
IEN1 |= 0x10; //开T4中断
IEN0 |= 0X80; //开总中断
LED_R_IO = LED_R_ACTIVE;//点亮LED
- 相关代码较多,不一一列出,可以下载例程查看。