TI CC2530 學習筆記-6-NewBit-CC2530-Timer4-查詢方式
阿新 • • 發佈:2018-11-11
TI CC2530 學習筆記-6-NewBit-CC2530-Timer4-查詢方式
通過CC2530定時器4來實現週期溢位,用此訊號來控制LED燈,每秒改變狀態一次。
CC2530的定時器4和定時器3只有定時器的名字不同,其他都是一樣的。
- 配置定時器和LED
halMcuWaitUs(10000); //等待時間穩定,約10ms CLKCONCMD &= ~0x47; //選擇外部32MHZ時鐘, 不分頻,TICKSPD不改變,保持為0x01,即定時器標記頻率為16MHz while( (CLKCONSTA & 0x47) != 0x00 ); //切換時鐘源後再次等待穩定 P0DIR |= 0x40; //配置IO為輸出 T4CTL = 0xE2; //128分頻(0.125Mhz), 8us,模模式 T4CCTL0 = 0x04; //通道0比較模式 T4CC0 = 125; //溢位值,125*8us = 1000us = 1ms T4CTL |= 0x10;// 模,從0x00到T3CC0重複計數 LED_R_IO = LED_R_ACTIVE;//點亮LED
- 在main函式的while迴圈裡檢測定時器溢位標誌位
t_count = 0;
while(1)
{
if (TIMIF & 0x10)//判斷T4通道0溢位中斷標誌
{
TIMIF = 0;//清除中斷標誌
t_count ++;
if (t_count >= 1000) //每1000次溢位所耗時間約1秒
{
t_count = 0;
LED_R_IO = !LED_R_IO;//翻轉LED
}
}
}