久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 飛控開發基礎-[2] STM32定時器(LED航情燈、指示燈閃爍) [打印本頁]

作者: 設計開發工程    時間: 2020-3-26 15:48
標題: 飛控開發基礎-[2] STM32定時器(LED航情燈、指示燈閃爍)

定時器LED航情燈、指示燈閃爍)
一、定時器簡介
        定時器具有定時功能,類似于生活中的“鬧鐘”,可以用定時器產生精確的定時時間,用來延時或者處理一些實時事件。
STM32系列的定時器分為基本定時器、通用定時器、高級控制定時器。后者包括前者的全部功能。通常地,STM32高級定時器是TIM1、TIM8,通用定時器是TIM2、TIM3、TIM4、TIM5,基本定時器是TIM6、TIM7。
而飛控的主核心STM32F103CBT6則有416位定時器分別是高級定時器TIM1、通用定時器TIM2、TIM3以及TIM4。

二、定時器寄存器
STM32F103定時器相關的寄存器眾多,這里只講解重要的幾個寄存器。
(1)TIMx_CR1:使能寄存器,最低位控制寄存器的開關,如下圖所示
TIM_CR1寄存器主要配置定時器的循環計數、使能等操作,例如CEN位為1是使能計數,為0是關閉計數。
(2)TIMx_DIER 定時器中斷使能寄存器, 最低位控制事件更新中斷的開關, 如下圖所示
該寄存的主要功能是配置定時器是定時器的中斷使能位,主要使用的是UIE位,UIE1是使能中斷,為0時關閉中斷。
(3)TIMx_PSC:定時器時鐘分頻寄存器,如下圖所示:
該寄存器負責把定時器時鐘分頻之后,再輸出給計數器,PSC[15:0]為分頻系數。
(4)TIMx_ARR:定時器自動重裝載寄存器,如下圖所示:
ARR[15:0]為自動重裝載值,當定時器采用向上計數時,計數值等于ARR時,產生一個更新事件;當定時器采用向下計數時,最開始將ARR的值賦給計數值,計數值向下累減為0時,產生一個更新事件,再次將ARR的值賦給計數值,進行新一輪的向下計數。
(5)TIMx_SR 狀態寄存器,標記當前與定時器相關的各種事件/中斷是否發生,我們只用到最低位表示事件更新中斷的標志位,如下圖所示:
該寄存器主要用于查看定時器的更新中斷標志位,當計數發生上溢或者下溢時,UIF位將被置1,標志一次計數完成。
三、定時器實驗
本節實驗的內容是主要是針對GPIO中的周期性點亮無人機的航情燈以及信號燈,對其進行變形,使用通用定時器TIM3精確定時周期性點亮及關閉無人機的航情燈以及信號燈。
同樣也是查看原理圖可以得知無人機的航情燈同一接在NPN三極管Q1上,而三極管的基極又接在了單片機的PA8上;兩個信號燈分別接在了PC13PC14上。


關于GPIO這部分的驅動代碼可以沿襲保留,不同的是需要加入定時器的初始化以及配置定時器中斷,編寫代碼的思路如下表所示。
編程思路
1
管腳配置
1、定義結構體;
2、使能時鐘;
3、填充結構體;
4、裝載結構體。
2
定時器配置
1、定義結構體;
2、使能時鐘;
3、填充結構體;
4、裝載結構體;
5、使能時鐘;
6、使能定時器。
3
中斷管理配置
1、定義結構體;
2、填充結構體;
3、裝載結構體。
4
中斷邏輯處理
1、判斷是否觸發中斷;
2、清除標志位;
3、其它邏輯。
按照代碼思路,編寫代碼(通過調用官方庫)如下圖所示為GPIO相關驅動代碼:


完成配置GPIO后,便是對定時器進行配置,我們的STM32是外接了8MHz的晶振的,主頻是72MHz先來看一下時鐘樹圖,如下圖所示。

定時器是掛載在APB1時鐘總線下的(從手冊可知),從時鐘樹圖中可知APB1用于定時器的時鐘頻率在未分頻的是情況下72MHz,根據定時器時鐘分頻寄存器(TIMx_PSC)以及定時器自動重裝載寄存器(TIMx_ARR)之間的關系,可以得出,定時時間:
Tout=((arr+1)*(psc+1))/Ft   s
其中Tout為定時時間單位為s,arr為自動重裝載寄存器的初值,psc為分頻系數,FtAPB的主頻,也就是72MHz。那么要定時1s則只需要把arr設置為載值9999,psc設置為7199即可,即:
Tout=((9999+1)*(7199+1))/72000000
=10000*7200/72000000
=72000000/72000000
=1s
所以可以得到定時器初始化代碼如下圖所示。

配置完成后便會1s周期進入一次定時器中斷,在定時器中斷里對無人機的航情燈以及指示燈的GPIO端口進行翻轉即可實現,周期性點亮,代碼如下圖所示。

寫好代碼后保存、編譯、下載,然后就可以看到飛控的LED指示燈以及四個螺旋槳下面的航情燈周期1S閃爍,如下圖所示。


2.飛控開發基礎-【2】定時器(LED航情燈、指示燈閃爍).pdf

940.51 KB, 下載次數: 19, 下載積分: 黑幣 -5






歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲小视频在线观看 | 亚洲精品在线免费看 | 国产精品精品视频一区二区三区 | 欧美日韩一区二区三区在线观看 | 成人av网站在线观看 | 国产精品日韩在线观看一区二区 | 噜噜噜色网 | 亚洲欧美日韩精品久久亚洲区 | 欧美一区二区免费 | 美女视频.| 久久爆操 | 日韩欧美国产精品综合嫩v 一区中文字幕 | 国产亚洲精品久久19p | 精品久久久久一区 | av日韩一区 | 日本一区二区在线视频 | 欧美激情视频网站 | 爱爱小视频 | 18av在线播放 | 中文字幕丁香5月 | 精品国产视频 | 欧美精品一级 | 亚洲欧美日韩电影 | 亚洲精品成人 | 欧美日韩电影一区二区 | 成人影院av | 亚洲精品九九 | 天堂成人国产精品一区 | 国产成人网 | 成人高清在线视频 | 五月天婷婷激情 | 亚洲精品乱码久久久久久蜜桃91 | 国产精品99一区二区 | 狠狠干av| 欧美区在线 | 毛片一区二区三区 | 成年人在线观看视频 | 成人国产精品久久 | 国产精品久久久久久久久久 | 亚洲一区二区高清 | 久久99精品久久 |