STM32開發板的TIM3開啟和關閉


關閉定時器中斷要考慮好多情況

1)關閉定時器時,定時器是否在處在工作狀態

2)關閉定時器時,定時器是否正好進入中斷,造成關閉程序出現斷層,進而無法實現完整關閉程序,此時可以使用高一級別的外部中斷強制進入外部中斷服務函數進行關閉程序

3)關閉定時器時,關閉定時器的程序是否在定時器服務函數里面?還是在總函數里面?還是在外部中斷服務函數里面?是需要考量的?

4)關閉定時器時,定時器的中斷觸發時間是否太緊湊?定時器的中斷總次數是否太小?都會影響關閉定時器程序運行的連續性。

以下為關閉程序:

首先打開時鍾,然后才能進行關閉操作。

RCC->APB1ENR|=1<<1; //TIM3時鍾使能    
TIM3->ARR=arr;   //設定計數器自動重裝值//剛好1ms    
TIM3->PSC=psc;   //預分頻器7200,得到10Khz的計數時鍾   
TIM3->DIER|=1<<0;   //允許更新中斷   
關閉定時器:TIM3->CR1 &= ~(0x01);  
開啟定時器:TIM3->CR1 |= 0x01;
MY_NVIC_Init(1,0,TIM3_IRQChannel,2);//搶占1,子優先級0,組  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM