TI CC2530 學習筆記-9-NewBit-CC2530-UART0-傳送
阿新 • • 發佈:2018-11-11
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填充資料,每次一位元組 } }