1. 程式人生 > >TI CC2530 學習筆記-9-NewBit-CC2530-UART0-傳送

TI CC2530 學習筆記-9-NewBit-CC2530-UART0-傳送

TI CC2530 學習筆記-目錄

TI CC2530 學習筆記-9-NewBit-CC2530-UART0-傳送

使用CC2530 串列埠向外傳送資料,波特率9600,無校驗,8位,1位停止位,按下按鍵後觸發一次傳送,傳送訊息為"Newbit_ZDK."

  1. 配置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
  1. 等待按鍵按下
  while(1)
  {
    if (KV_1 == halScanKey())
    {
      halUart0SendString("Newbit_ZDK.",10); //傳送字元
      while(KV_1 == halScanKey());              //等待按鍵釋放
    }
  }
  1. UART傳送函式
  void halUart0SendString(uint8 *str, uint8 len)
  {
    while(len --)
    {
    	while(U0CSR & 0x01);//等待發送完成
  	    U0DBUF = *str++;   //向UART填充資料,每次一位元組 
    }
  }

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