TI CC2530 學習筆記-10-NewBit-CC2530-UART0-接收
阿新 • • 發佈:2018-11-11
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
- 相關程式碼較多,不一一列出,可以下載例程檢視。