TI CC2530 学习笔记-9-NewBit-CC2530-UART0-发送
使用CC2530 串口向外发送数据,波特率9600,无校验,8位,1位停止位,按下按键后触发一次发送,发送消息为"Newbit_ZDK."
- 配置UART、LED、按键
halMcuWaitUs(10000); //等待时间稳定,约10ms
CLKCONCMD &= ~0x47; //选择外部32MHZ时钟, 不分频
//TICKSPD不改变,保持为0x01
while( (CLKCONSTA & 0x47) != 0x00 ); //切换时钟源后再次等待稳定
P0DIR |= 0x40; //配置IO为输出
P0DIR &= ~0x01; //按键IO初始化为输入
/* 初始化串口 */
P0SEL |= 0x0C; //将P02,P03设为外设功能
PERCFG &= ~0x01; //串口0占用P02 P03
U0CSR = 0X80; //USART模式设为UART模式
U0UCR = 0x00; //禁用流控,禁用奇偶检验,1位停止位
U0GCR |= 8; //9600
U0BAUD = 59;
LED_R_IO = LED_R_ACTIVE;//点亮LED
- 等待按键按下
while(1)
{
if (KV_1 == halScanKey())
{
halUart0SendString("Newbit_ZDK.",10); //发送字符
while(KV_1 == halScanKey()); //等待按键释放
}
}
- UART发送函数
void halUart0SendString(uint8 *str, uint8 len)
{
while(len --)
{
while(U0CSR & 0x01);//等待发送完成
U0DBUF = *str++; //向UART填充数据,每次一字节
}
}