1. 程式人生 > >TI CC2530 學習筆記-5-NewBit-CC2530-Timer3-查詢方式

TI CC2530 學習筆記-5-NewBit-CC2530-Timer3-查詢方式

TI CC2530 學習筆記-目錄

TI CC2530 學習筆記-5-NewBit-CC2530-Timer3-查詢方式

通過CC2530定時器3來實現週期溢位,用此訊號來控制LED燈,每秒改變狀態一次。

  1. 配置定時器和LED
  halMcuWaitUs(10000);  //等待時間穩定,約10ms
  CLKCONCMD &= ~0x47;   //選擇外部32MHZ時鐘, 不分頻,TICKSPD不改變,保持為0x01,即定時器標記頻率為16MHz
  while( (CLKCONSTA & 0x47) != 0x00 ); //切換時鐘源後再次等待穩定
  P0DIR |= 0x40;  //配置IO為輸出

  T3CTL = 0xE2;   //128分頻(0.125Mhz), 8us,模模式
  T3CCTL0 = 0x04; //通道0比較模式
  T3CC0 = 125;    //溢位值,125*8us = 1000us = 1ms
  T3CTL |= 0x10;// 模,從0x00到T3CC0重複計數

  LED_R_IO = LED_R_ACTIVE;//點亮LED
  1. 在main函式的while迴圈裡檢測定時器溢位標誌位
  t_count = 0;
   while(1)
  {
    if (TIMIF & 0x02)//判斷T3通道0溢位中斷標誌
    {
      TIMIF = 0;//清除中斷標誌
      t_count ++;
      if (t_count >= 1000)   //每1000次溢位所耗時間約1秒
      {
        t_count = 0;
        LED_R_IO = !LED_R_IO;//翻轉LED
      }
    }
  }
  1. 程式碼:NewBit-ZDK CC2530 基礎例程