定時器A簡介
定時器A是能進行脈沖輸出、外部輸入的脈沖寬度和周期的測量以及對外部事件進行計數的16位定時器。

例程功能
每500毫秒打印個字母
/***********************************************************************************************************************
* Function Name: TMA0_Init
* Description : This function initializes the TMA module.10MS
* Arguments : None
* Return Value : None
***********************************************************************************************************************/
void TMA0_Init(void)
{
CGC->PER1 |= CGC_PER1_TMAEN_Msk; /* enables input clock supply */
TMA->TACR0 &= (uint8_t)~_01_TMA_COUNT_START; //停止計數
INTC_DisableIRQ(TMA_IRQn);/* disable INTTMA interrupt */
INTC_ClearPendingIRQ(TMA_IRQn);/* clear INTTMA interrupt flag */
TMA->TAMR0 = _10_TMA_COUNT_SOURCE_FCLK8 | _00_TMA_MODE_TIMER; //fCLK/8 定時器模式
TMA->TA0 = 0xEA60U;
}
void BaseTimeSystemInit(uint8_t enable_disable)
{
TMA0_Init();
if(enable_disable)
{
TMA0_Start();
}
else
{
TMA0_Stop();
}
}
void BaseTimeSystemScan()
{
Time_10ms_count++;
if(Time_10ms_count>=TIME_CHECK_BOOT_10MS)
{
UART0_Send('a');
Time_10ms_count = 0 ;
}
}
中斷回調函數
/***********************************************************************************************************************
* Function Name: tma0_interrupt
* @brief tima0 interrupt service routine
* @param None
* @return None
***********************************************************************************************************************/
void tma0_interrupt(void)
{
INTC_ClearPendingIRQ(TMA_IRQn); /* clear INTTMA interrupt flag */
if ((TMA->TACR0 & _20_TMA_UNDERFLOW_OCCUR) != 0U)
{
TMA->TACR0 &= (uint8_t)~_20_TMA_UNDERFLOW_OCCUR;
BaseTimeSystemScan();
}
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
定時器
+關注
關注
23文章
3368瀏覽量
123626 -
TMA
+關注
關注
0文章
7瀏覽量
6979 -
回調函數
+關注
關注
0文章
95瀏覽量
12195 -
定時中斷
+關注
關注
0文章
19瀏覽量
8820
發布評論請先 登錄
相關推薦
熱點推薦
中微低功耗32位低功耗芯片BAT32G137代理供應
BAT32G137
128KB Flash,可編程增益放大器,比較器,CAN2.0B,DAC,RTC,硬件乘除法器。廣泛適用于智慧交通、智慧城市,綠色能源及智能家居等,如智能門鎖、無線監控設備
發表于 01-22 21:41
單片機MSP430入門-理論⑦--定時器模塊-定時器A②
單片機MSP430入門-理論⑦--定時器模塊-定時器A②上期大概給大家匯總介紹了,定時器模塊中比較重要并且常用的定時器
發表于 11-19 17:51
?9次下載
單片機MSP430入門理論⑧--定時器模塊-定時器A③
單片機MSP430入門理論⑧--定時器模塊-定時器A③上期大概給大家匯總介紹了,定時器模塊中定時器A
發表于 11-19 18:51
?8次下載
基于硬件定時器的軟件定時器
概括硬件定時器很精確,軟件定時器無論如何都有延遲,主要用在不需要精確定時的地方,而且軟件定時比較浪費單片機資源。梳理講到定時器,大家多多少少
發表于 11-25 09:51
?8次下載
單片機MSP430入門-理論⑥--定時器模塊-定時器A
單片機MSP430入門-理論⑥--定時器模塊-定時器A上期大概給大家匯總介紹了,在MSP430環境下的定時器模塊,其中主要又說了下看門狗定時器
發表于 12-16 16:54
?12次下載
BAT32G137定時器A定時簡介
評論