999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

STM32CubeMX定時器中斷回調函數的研究

2020-05-13 14:15:23李建波張永亮梁振華
電腦知識與技術 2020年8期

李建波 張永亮 梁振華

摘要:介紹了嵌入式芯片STM32圖形化配置軟件STM32CubeMX,以定時器2為例,信號源為內部時鐘,當計數溢出時產生定時器中斷。通過分析STM32CubeMX定時器中斷處理機制,并進行軟件仿真和硬件實驗,從技術上為開發者提供幫助。

關鍵詞:定時器中斷;中斷回調函數;STM32CubeMX

中圖分類號:TH85+1 文獻標識碼:A

文章編號:1009-3044(2020)08-0248-02

1 簡介

STM32CubeMX是ST意法半導體近幾年來大力推薦的STM32芯片圖形化配置工具,允許用戶使用圖形化向導生成C初始化代碼,可以大大減輕開發工作、時間和費用[1-2]。 聊城大學物理科學與信息工程學院羅清龍等對如何將STM32CubeMX引入本科嵌入式實驗教學改革進行了實踐[3],廣東機電職業技術學院電子與通信學院李建波等分析了將STM32CubeMX引入高職嵌入式系統設計課程教學中[4],西安工程大學電子信息學院羅瑤等將STM32CubeMX用在高速USB通信模塊設計中[5]。

目前沒有發現文章對STM32CubeMX定時器中斷進行分析,而定時器中斷是處理器實時處理事件的一種內部機制,是很重要的一個環節。本文利用STM32CubeMx設置TIM4定時中斷功能,追蹤了定時中斷矢量,在定時中斷回調函數中編寫了服務代碼,并進行了軟件仿真和硬件驗證。

2 總體設計

利用STM32CubeMX軟件進行定時器配置,生成代碼。打開工程進入Keil開發環境,進行定時器中斷代碼編輯、編譯,生成可執行文件。在仿真軟件Proteus選擇STM32芯片,并裝載可執行文件,進行仿真觀察。利用ST-Link或JLink,將代碼下載到開發板,進行硬件調試。

3 STM32CubeMX軟件

3.1選擇控制器

打開STM32CubeMX,點擊菜單欄File—New Project新建項目,輸入STM32F103C6,選擇STM32F103C6Tx芯片。在引腳配置界面,配置復位和時鐘控制RCC;進行時鐘配置,系統時鐘為8MHz;配置系統模式SYS Mode and Configuration;將PB9配制成GPIO_Output輸出模式。

3.2 配置TIM2

在引腳配置界面,類別Categories中選擇TIM2,在TIM2I作模式Mode配置時鐘源為內部時鐘,在設置Configuration中參數設置Parameter Setting中,配置分配系數為7999,計數周期為999,如圖l所示。

定時器中斷頻率:

ft2=fosc/((Prescaler+ l)*( Counter Pe riod+l))

f0。系統時鐘為8MHz,Prescaler為7999,Counter Period為999,代入公式1,得到

f1=8000000/《7999+1)*(999+1))=1Hz

定時器中斷周期:Tt2=1/ft2=ls,周期為1秒。

3.3設置定時器中斷

在定時器模式和配置一Configuration配置窗口,選擇嵌套向量中斷控制器設置NVIC Settings,勾選TIM2 global inter-rupts。如果定時周期到,則進入定時器中斷函數。

3.4生成代碼

選擇菜單欄Project,點擊Generate Code,生成用戶代碼、復制庫文件,點擊Open Project即可進入Keil編輯環境。

4 Keil開發環境

4.1中斷初始化

打開mam.c主文件,將鼠標移動到定時器初始化函數MX_TIM2_1nit0;點擊右鍵,查看定義:

void MX_TIM2_1nit(void){

TIM_ClockConfigTypeDef sClockSourceConfig={0};

TIM_MasterConfigTypeDef sMasterConfig=(0};

htim2.1nstance= TIM2;

htim2.Init.Prescaler= 7999;

htim2.Init.CounterMode= TIM—COUNTERMODE_UP;

htim2.Init.Period= 999;

htim2.Init.ClockDivision=TIM—CLO CKDIVISION_DIV l;

htim2. Init. AutoReloadPreload=TIM- AUTORELOAD_PRE-LOAD_DISABLE;

HAL_TIM_Base_lnit(&htim2);...)

可以看到分頻系數Ptescaler為7999,計數周期999。

4.2 定時器中斷函數

1)定時器2中斷函數

如果定時周期到,則進入定時器2中斷函數voidTIM2_IRQHandler(void).

2)定時器中斷函數

在void TIM2_IRQHandler(void)中,調用了函數HAL_TIM_IRQHandler(&htim2);進入該函數定義。因為比較長,只分析相關部分。

if

(_HAL_TIM_ GET- IT_SOURCE(htim,

TIM_IT_UP-DATE)!= RESET){

一HAL-- TIM_CLEAR_IT(htim, TIM_IT_UPDATE);

主站蜘蛛池模板: 国产在线精彩视频论坛| www欧美在线观看| 在线精品亚洲一区二区古装| 国产精品无码AⅤ在线观看播放| 看你懂的巨臀中文字幕一区二区| 99热这里都是国产精品| 欧美日韩国产成人高清视频| 日韩国产一区二区三区无码| 亚洲av无码人妻| 无码 在线 在线| 久久精品视频亚洲| 试看120秒男女啪啪免费| 综合五月天网| 成年人久久黄色网站| 免费看美女自慰的网站| 女人av社区男人的天堂| 国产无码精品在线播放| 国产h视频免费观看| 国产亚洲精品自在久久不卡 | 中文字幕va| 青青草国产一区二区三区| 色老二精品视频在线观看| 精品国产中文一级毛片在线看| www亚洲精品| 伊人久久久大香线蕉综合直播| 国产欧美日韩另类| 精品成人一区二区三区电影| 久久精品无码国产一区二区三区 | 婷婷成人综合| 欧美五月婷婷| 亚洲精品少妇熟女| 精品视频第一页| 播五月综合| 天天色综合4| 欧美日韩国产在线观看一区二区三区| 日韩色图在线观看| 国产福利一区在线| 毛片一级在线| 亚洲综合色婷婷中文字幕| 国产精品欧美亚洲韩国日本不卡| 看国产一级毛片| 日韩 欧美 小说 综合网 另类| 无码aaa视频| 午夜精品福利影院| 中文字幕乱码中文乱码51精品| 亚洲色图欧美| 国产91视频免费| 影音先锋丝袜制服| 91精品国产91久无码网站| 老司机aⅴ在线精品导航| 亚洲免费人成影院| 日本一区二区不卡视频| 久久无码av三级| 国产欧美日韩综合在线第一| 欧美精品不卡| 一级看片免费视频| 福利在线免费视频| 999国产精品永久免费视频精品久久| 五月六月伊人狠狠丁香网| 欧美激情成人网| 伊人天堂网| 91色在线视频| 国产aaaaa一级毛片| 99免费视频观看| 在线免费观看AV| 久久婷婷国产综合尤物精品| 四虎永久在线视频| 亚洲中文字幕精品| 久久精品亚洲中文字幕乱码| 高清欧美性猛交XXXX黑人猛交 | 欧美成人二区| 伊人精品视频免费在线| 国产日产欧美精品| 免费人成在线观看视频色| 国产成人高精品免费视频| 国禁国产you女视频网站| 欧美日韩中文字幕在线| A级毛片无码久久精品免费| 亚洲成人精品久久| 亚洲精品日产AⅤ| 9cao视频精品| 亚洲三级视频在线观看|