定時(shí)器的種類 stm32 systick定時(shí)器有什么作用?
stm32 systick定時(shí)器有什么作用?STM32中有11個(gè)定時(shí)器,包括2個(gè)高級(jí)控制定時(shí)器、4個(gè)普通定時(shí)器和2個(gè)基本定時(shí)器、2個(gè)看門狗定時(shí)器和1個(gè)系統(tǒng)計(jì)時(shí)定時(shí)器。系統(tǒng)時(shí)鐘是前一篇文章中描述的系統(tǒng)時(shí)
stm32 systick定時(shí)器有什么作用?
STM32中有11個(gè)定時(shí)器,包括2個(gè)高級(jí)控制定時(shí)器、4個(gè)普通定時(shí)器和2個(gè)基本定時(shí)器、2個(gè)看門狗定時(shí)器和1個(gè)系統(tǒng)計(jì)時(shí)定時(shí)器。系統(tǒng)時(shí)鐘是前一篇文章中描述的系統(tǒng)時(shí)鐘,看門狗定時(shí)器將在后面詳細(xì)研究。今天主要是關(guān)于剩下的八個(gè)計(jì)時(shí)器。TIM1和tim8是先進(jìn)的定時(shí)器,可以產(chǎn)生三對(duì)PWM互補(bǔ)輸出。它們通常用于驅(qū)動(dòng)三相電機(jī),時(shí)鐘由apb2的輸出產(chǎn)生。Tim2-tim5是一個(gè)普通定時(shí)器,tim6和tim7是基本定時(shí)器,它們的時(shí)鐘由apb1輸出產(chǎn)生。因?yàn)镾TM32的定時(shí)器功能太復(fù)雜,我們只能一點(diǎn)一點(diǎn)地學(xué)習(xí)。在中斷處理函數(shù)中調(diào)用中斷函數(shù)。沒關(guān)系。關(guān)鍵是這個(gè)延遲函數(shù)不能使用其他中斷。STM32只能同時(shí)處理一個(gè)中斷。如果中斷沒有被完全處理。即使存在其他高級(jí)中斷,也不會(huì)執(zhí)行handler函數(shù)。您說過您在延遲函數(shù)中使用了systemtick,在exti0u1中,當(dāng)irqhandler被執(zhí)行時(shí),systemtick的中斷處理不能被執(zhí)行。你的系統(tǒng)時(shí)間不會(huì)增加,所以你的延遲函數(shù)永遠(yuǎn)不會(huì)等到最后。如果必須延遲,可以使用空循環(huán)。
stm32關(guān)于系統(tǒng)滴答定時(shí)器(systick)?
Systick是m3內(nèi)核中時(shí)鐘節(jié)拍的內(nèi)置計(jì)時(shí)器(請(qǐng)參閱m3手冊(cè)、STM32手冊(cè),包括NVIC)。與STM32的其它外設(shè)定時(shí)器相比,它非常簡(jiǎn)單。只能選擇溢出中斷。對(duì)于簡(jiǎn)單的計(jì)時(shí)應(yīng)用程序來說,這是沒有問題的。時(shí)間不長(zhǎng)。如果你想輸出一個(gè)脈寬調(diào)制,不要考慮它。延遲?是帶有for或while循環(huán)的延遲程序?二是延時(shí)總是占用CPU,而systick一般采用中斷方式(沒有人會(huì)一直查詢程序中的標(biāo)志位),不占用CPU。除非任務(wù)很簡(jiǎn)單。否則,實(shí)際項(xiàng)目將不會(huì)使用循環(huán)延遲。但因?yàn)镾TM32有更強(qiáng)大的外設(shè)定時(shí)器。計(jì)時(shí)范圍也比systick大。它也可以級(jí)聯(lián),所以一般不使用systick,只用于操作系統(tǒng)的時(shí)鐘節(jié)拍。