STM32開發(fā)板的TIM3開啟和關閉
關閉定時器中斷要考慮好多情況
1)關閉定時器時,定時器是否在處在工作狀態(tài)
2)關閉定時器時,定時器是否正好進入中斷,造成關閉程序出現(xiàn)斷層,進而無法實現(xiàn)完整關閉程序,此時可以使用高一級別的外部中斷強制進入外部中斷服務函數(shù)進行關閉程序
3)關閉定時器時,關閉定時器的程序是否在定時器服務函數(shù)里面?還是在總函數(shù)里面?還是在外部中斷服務函數(shù)里面?是需要考量的?
4)關閉定時器時,定時器的中斷觸發(fā)時間是否太緊湊?定時器的中斷總次數(shù)是否太???都會影響關閉定時器程序運行的連續(xù)性。
以下為關閉程序:
首先打開時鐘,然后才能進行關閉操作。
RCC->APB1ENR|=1<<1; //TIM3時鐘使能
TIM3->ARR=arr; //設定計數(shù)器自動重裝值//剛好1ms
TIM3->PSC=psc; //預分頻器7200,得到10Khz的計數(shù)時鐘
TIM3->DIER|=1<<0;//允許更新中斷
關閉定時器:TIM3->CR1&=~(0x01);
開啟定時器:TIM3->CR1|=0x01;
MY_NVIC_Init(1,0,TIM3_IRQChannel,2);//搶占1,子優(yōu)先級0,組





