国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 1608|回復(fù): 0
打印 上一主題 下一主題

【飛控開(kāi)發(fā)基礎(chǔ)2】開(kāi)源編隊(duì)無(wú)人機(jī)-定時(shí)器(LED 航情燈、指示燈閃爍)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2022-7-14 10:57:01 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
COCOFLY教程
——瘋殼·無(wú)人機(jī)·系列
定時(shí)器(LED 航情燈、指示燈閃爍)






圖1

一、定時(shí)器簡(jiǎn)介
  定時(shí)器具有定時(shí)功能,類似于生活中的“鬧鐘”,可以用定時(shí)器產(chǎn)生精確的定時(shí)時(shí)間,用來(lái)延時(shí)或者處理一些實(shí)時(shí)事件。
  STM32 系列的定時(shí)器分為基本定時(shí)器、通用定時(shí)器、高級(jí)控制定時(shí)器。后者包括前者的全部功能。通常地,STM32 高級(jí)定時(shí)器是 TIM1、TIM8,通用定時(shí)器是 TIM2、TIM3、TIM4、TIM5,基本定時(shí)器是 TIM6、TIM7。
  而飛控的主核心 STM32F103CBT6 則有 4 路 16 位定時(shí)器分別是高級(jí)定時(shí)器TIM1、通用定時(shí)器 TIM2、TIM3 以及 TIM4。

二、定時(shí)器寄存器
  STM32F103 定時(shí)器相關(guān)的寄存器眾多,這里只講解重要的幾個(gè)寄存器。
  (1)TIMx_CR1:使能寄存器,最低位控制寄存器的開(kāi)關(guān),如下圖所示:


圖2
  TIM_CR1 寄存器主要配置定時(shí)器的循環(huán)計(jì)數(shù)、使能等操作,例如 CEN 位為1 是使能計(jì)數(shù),為 0 是關(guān)閉計(jì)數(shù)。
  (2)TIMx_DIER: 定時(shí)器中斷使能寄存器, 最低位控制事件更新中斷的開(kāi)關(guān), 如下圖所示:


圖3
  該寄存的主要功能是配置定時(shí)器是定時(shí)器的中斷使能位,主要使用的是 UIE位,UIE 為 1 是使能中斷,為 0 時(shí)關(guān)閉中斷。
  TIMx_PSC:定時(shí)器時(shí)鐘分頻寄存器,如下圖所示:


圖4
  該寄存器負(fù)責(zé)把定時(shí)器時(shí)鐘分頻之后,再輸出給計(jì)數(shù)器,PSC[15:0]為分頻系數(shù)。
  (4)TIMx_ARR:定時(shí)器自動(dòng)重裝載寄存器,如下圖所示:


圖5
  ARR[15:0]為自動(dòng)重裝載值,當(dāng)定時(shí)器采用向上計(jì)數(shù)時(shí),計(jì)數(shù)值等于 ARR 時(shí), 產(chǎn)生一個(gè)更新事件;當(dāng)定時(shí)器采用向下計(jì)數(shù)時(shí),最開(kāi)始將 ARR 的值賦給計(jì)數(shù)值, 計(jì)數(shù)值向下累減為 0 時(shí),產(chǎn)生一個(gè)更新事件,再次將 ARR 的值賦給計(jì)數(shù)值,進(jìn)行新一輪的向下計(jì)數(shù)。
  (5)TIMx_SR: 狀態(tài)寄存器,標(biāo)記當(dāng)前與定時(shí)器相關(guān)的各種事件/中斷是否發(fā)生,我們只用到最低位表示事件更新中斷的標(biāo)志位,如下圖所示:


圖6
  該寄存器主要用于查看定時(shí)器的更新中斷標(biāo)志位,當(dāng)計(jì)數(shù)發(fā)生上溢或者下溢時(shí),UIF 位將被置 1,標(biāo)志一次計(jì)數(shù)完成。


三、定時(shí)器實(shí)驗(yàn)
  本節(jié)實(shí)驗(yàn)的內(nèi)容是主要是針對(duì)GPIO 中的周期性點(diǎn)亮無(wú)人機(jī)的航情燈以及信號(hào)燈,對(duì)其進(jìn)行變形,使用通用定時(shí)器 TIM3 精確定時(shí)周期性點(diǎn)亮及關(guān)閉無(wú)人機(jī)的航情燈以及信號(hào)燈。
  同樣也是查看原理圖可以得知無(wú)人機(jī)的航情燈同一接在NPN 三極管Q1 上, 而三極管的基極又接在了單片機(jī)的PA8 上;兩個(gè)信號(hào)燈分別接在了 PC13 和PC14 上。


圖7


圖8


圖9
  關(guān)于 GPIO 這部分的驅(qū)動(dòng)代碼可以沿襲保留,不同的是需要加入定時(shí)器的初始化以及配置定時(shí)器中斷,編寫(xiě)代碼的思路如下表所示。



圖10
  按照代碼思路,編寫(xiě)代碼(通過(guò)調(diào)用官方庫(kù))如下圖所示為 GPIO 相關(guān)驅(qū)動(dòng)代碼:



圖11


圖12
  完成配置 GPIO 后,便是對(duì)定時(shí)器進(jìn)行配置,我們的 STM32 是外接了 8MHz的晶振的,主頻是 72MHz 先來(lái)看一下時(shí)鐘樹(shù)圖,如下圖所示。


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


圖14


圖15
  配置完成后便會(huì) 1s 周期進(jìn)入一次定時(shí)器中斷,在定時(shí)器中斷里對(duì)無(wú)人機(jī)的航情燈以及指示燈的 GPIO 端口進(jìn)行翻轉(zhuǎn)即可實(shí)現(xiàn),周期性點(diǎn)亮,代碼如下圖所示。


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


圖17



更多完整學(xué)習(xí)資料和對(duì)應(yīng)開(kāi)源套件,請(qǐng)登陸官網(wǎng):“瘋殼”

文件下載請(qǐng)點(diǎn)擊: 【2】定時(shí)器(LED航情燈、指示燈閃爍).pdf (808.08 KB)

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 和阿同居的日子在线3 | 免费色视频在线观看 | 日韩不卡免费视频 | 国产亚洲综合色就色 | 视频一区二区在线观看 | 一级做a爰视频免费观看2019 | 天天搞夜夜 | 国产美女视频免费 | 国产69精品久久久久999 | 亚洲影院一区 | 四虎4hu永久免费视频大全 | 亚洲精品在线免费观看视频 | 国产欧美日韩不卡在线播放在线 | 91久久国产青草亚洲 | 成人激情黄色 | 99国内精品久久久久久久 | 国产yw855.c免费观看网站 | 亚洲人成影院在线高清 | 国产高清在线精品一区a | 亚洲精品国产成人中文 | 国产日韩91| 亚天堂 | 午夜影院污 | 日韩影视在线观看 | 69视频免费看 | 91久久线看在观草草青青 | 亚洲精品视频在线观看免费 | 亚洲欧美日本国产一区二区三区 | 亚洲免费成人在线 | 草久影院 | 国产高清一级毛片 | 在线播放免费播放av片 | 91亚洲精品视频 | 大胖子h粗污 | 手机看片国产免费现在观看 | 一级毛片短视频 | 狠狠色成人综合网图片区 | 成人亚洲国产精品久久 | 91精品国产高清91久久久久久 | 91视频一区二区三区 | 99re这里只有热视频 |