1. 程式人生 > >TI CC2530 學習筆記-10-NewBit-CC2530-UART0-接收

TI CC2530 學習筆記-10-NewBit-CC2530-UART0-接收

TI CC2530 學習筆記-目錄

TI CC2530 學習筆記-10-NewBit-CC2530-UART0-接收

功能:串列埠接收資料的功能,向CC2530模組傳送"1"則底板上的紅色LED開啟,傳送"0"則底板上的紅色LED關閉,傳送"2"則改變LED狀態。

定時器的功能就是超時接收,超時接收:UART收到兩個位元組間的時間大於設定時間(本程式為1ms)則表示這兩個位元組是分開發送的,是兩個資料幀。

  1. 初始化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
  1. 相關程式碼較多,不一一列出,可以下載例程檢視。

程式碼:NewBit-ZDK CC2530 基礎例程