一.TIMER stm32框圖
如圖:
1為時鐘源
● 內部時鐘(CK_INT)
● 外部時鐘模式1:外部輸入腳(TIx)
● 外部時鐘模式2:外部觸發輸入(ETR)
● 內部觸發輸入(ITRx):使用一個定時器作為另一個定時器的預分頻器,如可以 配置一個定時器Timer1而作為另一個定時器Timer2的預分頻器
本歷程采用內部時鐘源,也就是以下的path
此處需要注意一點:如果使用內部時鐘,如果TIMER所在的總線是1分頻,那么就是所在總線的時鐘頻率,如果不是1分頻,那么時鐘頻率就是所在總線頻率*2
如系統時鐘為72M,TIMER2所在APB1為1分頻,那么TIMER時鐘頻率為72M*1
如系統時鐘為72M,TIMER2所在APB1為2分頻,那么TIMER時鐘頻率為36M*2
雖然都為72M,但是計算方法也不同,對于頻率系數比較大的就能看出差異,例如stm32 f407
2為時基單元
PSC預分頻數,還有重裝載值,計數器CNT是寄存器根據重裝載值和方向進行遞增遞減
3為輸入捕獲,最基本的用途可以計算上升沿和下降沿的時間
4為輸出,即PWM,可以自己輸出波形,控制占空比
二.寄存器圖
Timer的寄存器比較多,本歷程只是實現最基本的定時功能,輸入捕獲,PWM暫時不做討論
三.編程步驟
1. 使能TIMER時鐘
2. 設置重裝載值和分頻系數
3. 計數器清零
4. 設置觸發中斷的方式
5. 使能TIMER
6. 使能TIMER NVIC中斷
7. TIMER中斷函數編寫
四.程序解析
程序調用API
Time2_Enable(19999,7199);
調試如下
RCC->APB1ENR = RCC_APB1ENR_TIM2EN; // 72M clock
1.使能TIMER時鐘,為72M,如圖
TIM2->ARR= arr;
TIM2->PSC= psc;
2. 設置重裝載值和分頻系數,如圖
TIM2->EGR = TIM_EGR_UG;
3.計數器清零
TIM2->CR1= TIM_CR1_URS;
TIM2->DIER= TIM_DIER_UIE;
4. 設置觸發中斷的方式
5.使能TIMER,如圖:
NVIC_SetPriority(TIM2_IRQn,1);
NVIC_EnableIRQ(TIM2_IRQn);
6.使能TIMER中斷
voidTIM2_IRQHandler(void)
{
TIM2->SR &= ~TIM_SR_UIF;
printf("timeout! CNDTR=%d\n",DMA1_Channel5->CNDTR);
}
7.編寫TIMER中斷函數
程序運行圖
每2s產生一次中斷
72M = 72000000HZ
分頻7200
72000000/7200 = 10000
所以一個周期是 1/10000
然后出發中斷時20000個周期,所以2s一次中斷
上一篇:【stm32f103】SysTick實現延時(寄存器版)
下一篇:【stm32f103】DMA應用memory to memory(寄存器版)
推薦閱讀
史海拾趣
在電子行業的激烈競爭中,宜源科技公司始終將技術創新作為公司發展的核心驅動力。公司投入大量研發資源,成功開發出一系列具有自主知識產權的電子產品和解決方案。其中,其獨特的智能芯片技術,不僅大幅提升了產品的性能,還降低了生產成本,使得宜源科技在市場中迅速脫穎而出。
宜源科技公司非常重視人才培養和團隊建設。公司建立了一套完善的人才培養體系,為員工提供豐富的培訓和發展機會。同時,宜源科技還積極引進優秀人才,打造高素質、專業化的技術和管理團隊。這些團隊在公司的各個領域中發揮著重要作用,為公司的長遠發展提供了有力的人才保障。
為了在全球市場上保持領先地位,正泰建立了北美、歐洲、亞太等三大全球研發中心,并與清華大學、上海交大等國內外知名院校、機構展開合作,探索“產學研”融合模式。通過整合全球創新資源,正泰在智能電網、新能源電車充電設施等前沿領域取得了一系列創新進展。這種全球研發體系的建立,不僅提升了公司的研發能力,也增強了公司的市場競爭力。
隨著工業4.0時代的到來,正泰公司積極推進智能制造轉型。以海寧工廠為例,正泰通過引入自動化生產線和信息化管理系統,提高了生產效率和產品質量。同時,公司還加大了對智能制造技術的研發和應用力度,推動生產過程的數字化、網絡化、智能化。這一轉型不僅提升了公司的生產效率和市場競爭力,也為公司的未來發展奠定了堅實的基礎。
以上五個故事只是正泰公司發展過程中的冰山一角,但它們充分展示了正泰公司在電子行業中不斷創新、追求卓越的精神風貌和堅定決心。
DIOFIT公司自創立之初,便面臨著激烈的市場競爭和技術挑戰。創始人團隊憑借對電子技術的深入理解和熱情,決心打造一家專注于高端電子產品研發和生產的企業。在資金緊張、人才匱乏的情況下,他們堅持自主研發,不斷優化產品設計,最終成功推出了一款具有創新性的智能家居控制系統,贏得了市場的認可,為公司的發展奠定了堅實的基礎。
面對全球電子市場的不斷擴張,Artaflex公司制定了全球化的發展戰略。公司通過設立海外分支機構、拓展國際市場、參與國際展會等方式,不斷提升品牌知名度和市場份額。同時,公司還積極引進國際先進技術和管理經驗,提升自身的競爭力。這一戰略的實施使得Artaflex在全球電子行業中占據了重要地位。
??問題1:音質與音效 一些玩家宣稱通過調整天天好聽等播放軟件的EQ設置,可以有效改善小7的“音質”,亦云索愛手機的音質普遍強于諾基亞手機,原因在于索愛有獨門武器——非同一般的EQ參數……這些說法都是錯誤的。 1、音質 ...… 查看全部問答∨ |
|
RMB真心求解 JZ4750芯片用CIM接口與SAA7113通訊,將PAL AV信號轉換為ITU656數據,求SAA7113的芯片設置及JZ4750的驅動。JZ4750的驅動所用的操作系統是UCOSII。 有知道者請聯系QQ 5953508 請注明,解答問題… 查看全部問答∨ |
|
我有一個cab格式的安裝包,是一個無線網卡的驅動程序,怎么樣讓他在wince啟動的時候能運行這個驅動程序?我只知道要改內核的注冊表文件,但是具體怎么改不知道,誰能告訴我? 順便問下,如果我吧內核燒到flash里面,然后在運行這個cab安裝包,重啟 ...… 查看全部問答∨ |
原來系統沒有問題,將顯示驅動由16bit該為24bit之后顯示沒有問題,但是奇怪的是音頻竟然出問題了: 跑explore時有開機聲音,但只是一開始響一下就沒了,有時是開始正常,點觸摸屏幾下后或打開個文件夾后觸摸點擊聲就沒了! 該回16bit后一切正常 ...… 查看全部問答∨ |
曬WEBENCH設計的過程 +利用移動電源為高精度萬用表供電的DC-DC電壓轉換器設計 本帖最后由 fengye5340 于 2014-7-7 13:42 編輯 一、方案介紹: 萬用表對搞電子的工程師來講,可以說是必需品,但這個必需品耗電是個大問題,在采用普通9V層疊電池的普通萬用表中,平均一個 ...… 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- 利用STM32MP1和STM32MP2在嵌入式 Linux 平臺上部署有效的安全保護機制
- 超小但強大:MCU 的小尺寸封裝和集成如何幫助優化空間受限的設計
- 德州儀器推出全球超小型 MCU,助力微型應用創新
- Microchip推出電動兩輪車(E2W)生態系統,加速電動出行創新
- 意法半導體推出STM32U3微控制器,面向遠程、智能和可持續應用,拓展超低功耗系列創新
- (一) ECloudIDE入門STM32-CubeMX工程創建與導入
- (二)ECloudIDE入門STM32-官方寄存器版例程使用
- Simulink STM32F407VGT6實現硬件在環
- openharmony:hilog_lite組件移植