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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3128|回復: 0
打印 上一主題 下一主題
收起左側

飛控開發基礎-[2] STM32定時器(LED航情燈、指示燈閃爍)

[復制鏈接]
跳轉到指定樓層
樓主

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

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一级黄 | 亚洲人成网亚洲欧洲无码 | 久久久精品久久 | 无码日韩精品一区二区免费 | 一区二区在线 | 亚洲欧美视频一区 | 精品91久久 | 欧美二区三区 | 韩国久久精品 | 黄色在线免费播放 | 国产成人高清视频 | 久久精品久久综合 | 国产欧美日韩 | 97精品超碰一区二区三区 | 中文字幕在线免费观看 | 久久久做 | 99re在线免费视频 | 人人爽日日躁夜夜躁尤物 | 日韩一区二区三区在线观看 | 毛片免费观看 | 精品欧美一区二区三区久久久 | 久久精品网 | 国产丝袜av | 免费观看黄 | 久久久九九九九 | 狠狠ri| 欧美视频在线播放 | 中文字幕一区在线 | 国产免费黄网 | 久久99精品久久久久久琪琪 | 国产精品毛片一区二区在线看 | 中文字幕电影在线观看 | 久久久久香蕉视频 | 国产成人精品一区二区三区四区 | 日日干夜夜操天天操 | 精品国产三级 | 久久国品片| 亚洲欧美视频 | 欧美黄色小视频 | 精品视频久久久久久 | 国产成人精品免费 |