最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

STM32Cubev6 TIM 定時器中斷

2021-02-13 01:56 作者:僚機Wingplane  | 我要投稿

工作環(huán)境:

STM32CubeMXv6

Keil5

????因為定時器和時鐘有關(guān),所以我們需要先配置時鐘,打開左側(cè)的下拉框System Core,點擊RCC選項;

????我選用的是8M的外部高速時鐘(以實際情況為準),在下方的配置框中更改High Speed Clock(HSE)為Crystal/Ceramic Resonator;

????配置HSE為8Mhz,APB1為54Mhz;

? ? 因為我需要配置一個1ms觸發(fā)一次的定時器中斷,我們先通過芯片對應(yīng)的datasheet查到TIM6是在APB1上的,我們通過RCC配置它為54Mhz(最高),根據(jù)公式

Tout = (PSC+1)* (ARR+1)/Tclk

得到預(yù)分頻值為0(實際填入需要-1),自動重載值為54000-1=53999,允許自動重載;

????對應(yīng)datasheet的查找方法

?再打開左側(cè)的下拉框System,點擊NVIC選項;

????可以在Priority Group中選擇中斷優(yōu)先級組;

? ? 勾選TIM6 global interrupt,DAC1 and DAC2 underrun error interrupts開啟中斷;

設(shè)置完成后

點擊Project Manager頁面,輸入工程名和工程位置,選擇工具鏈和IDE為MDK-ARM,版本為5.27;

打開左側(cè)Code Generater菜單勾選Generate peripheral initialization as a pair of'.c/.h'file per peripheral;?

????最后點擊右上角的GENERATE CODE按鈕后生成代碼。

????生成代碼后打開工程文件夾,用Keil5打開工程。

????編譯,為了使得我們的代碼盡可能解耦合,所以我們在工程文件夾中新建一個user_tim.c和對應(yīng)的user_tim.h文件,在這個.c文件中我們寫入以下函數(shù)

????在對應(yīng)頭文件user_uart.h中寫入以下內(nèi)容

????在主函數(shù)的開始include我們的user_uart.h

? ? 然后再在主循環(huán)里加入中斷標志位檢測

好了,現(xiàn)在我們就可以在main里用定時器中斷來完成業(yè)務(wù)了

參考資料:

STM32F7開發(fā)指南-HAL庫版本_V1.1

HAL庫教程8:通用定時器的使用? ? https://yatao.blog.csdn.net/article/details/89165205


STM32Cubev6 TIM 定時器中斷的評論 (共 條)

分享到微博請遵守國家法律
图们市| 司法| 闻喜县| 秦安县| 彭泽县| 中西区| 慈利县| 高淳县| 余江县| 隆安县| 松潘县| 保山市| 西宁市| 湖南省| 射阳县| 棋牌| 隆化县| 瑞金市| 册亨县| 康定县| 奇台县| 新余市| 东丽区| 合山市| 宜良县| 新泰市| 黑河市| 绍兴县| 南岸区| 烟台市| 奇台县| 金川县| 巧家县| 宜兴市| 珠海市| 大新县| 南开区| 宜君县| 许昌县| 五河县| 柳林县|