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

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

【飛控開發(fā)基礎(chǔ)1】開源編隊(duì)無人機(jī)-GPIO(LED 航情燈、信號燈控制)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2022-7-13 11:16:01 | 只看該作者 |只看大圖 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
COCOFLY教程
——瘋殼·無人機(jī)系列
GPIO(LED 航情燈、信號燈控制)




   
    圖1

    一、LED
    1.1LED 簡介
    LED(Light Emitting Diode)即為發(fā)光二極管的縮寫。LED 是一種在生活中非常常見的照明發(fā)光器件。LED 的在我們生活中形態(tài)種類非常的多,如下圖所示。

   
    圖2                                                                                               圖3
    盡管 LED 在我們生活中形態(tài)非常地多,但這所有的 LED 在電路里均使用如下圖所示的符號來表示。

   
    圖4

    1.2LED 發(fā)光原理
    LED 最重要的一個發(fā)光結(jié)構(gòu)就是燈內(nèi)如綠豆大小般的燈珠。雖然它的體積很小,但它卻內(nèi)有乾坤,如下圖所示為 LED 內(nèi)部構(gòu)造。

   
    圖5

    這個結(jié)構(gòu)極其復(fù)雜,一共分為好幾層:最上層叫做 P 型半導(dǎo)體層、中間層為發(fā)光層、最下層叫做 N 型半導(dǎo)體層。
    從物理學(xué)角度來理解:當(dāng)電流通過晶片時,N 型半導(dǎo)體內(nèi)的電子與 P 型半導(dǎo)體內(nèi)的空穴在發(fā)光層劇烈地碰撞復(fù)合產(chǎn)生光子,以光子的形式發(fā)出能量(即大家看見的光)。
    二、GPIO
    2.1GPIO 簡介
    GPIO(General-purpose input/output),通用的輸入輸出的簡稱,單片機(jī)的引腳可以供使用者自由使用,可以配置為輸出,也可以配置為輸入。其中輸出又可以是輸出“高電平”或者“低電平”。在電子電路中“高電平”是電壓高的狀態(tài), 用邏輯來表示即為 1,“低電平”是電壓低的狀態(tài),用邏輯來表示即為 0。
    STM32F103 系列是意法半導(dǎo)體基于 ARM Cortex M3 內(nèi)核的 32 位單片機(jī), 飛控上用的主核心是 48 腳的 STM32F103CBT6,其引腳如下圖所示。


   
    圖6

    STM32F103CBT6 的 GPIO 的功能較多,有 A、B、C、D 等四組 GPIO,每組每個 GPIO 口都可以作為輸出輸出口使用之外, 還能作為復(fù)用引腳使用, 比如串口、I2C、SPI 等特殊接口的引腳。 但是需要注意的是每個引腳的復(fù)用功能是有限制的, 所以硬件連接時需要注意每個引腳有哪些復(fù)用功能, 這個可以在STM32F103 的數(shù)據(jù)手冊中查看。GPIO 口一共有 8 種模式,分別為:浮空輸入, 上拉輸入,下拉輸入,模擬輸入,開漏輸出,推挽輸出,推挽式復(fù)用功能,開漏式復(fù)用功能,如下表所示。
    STM32F103GPIO 工作模式

   
    圖7
    這 8 種功能我們就不一一介紹了, 有興趣可以上網(wǎng)搜索了解一下,這里主要講解一下開漏輸出和推挽輸出的區(qū)別。
    (1)開漏輸出:
    輸出端相當(dāng)于三極管的集電極. 需要上拉電阻才能得到高電平, 利用外部上拉電阻的驅(qū)動能力,減少 IC 內(nèi)部的驅(qū)動,驅(qū)動能力強(qiáng),適合于做電流型的驅(qū)動, 可達(dá)到 20mA。
    (2)推挽輸出:
    可以輸出高,低電平,連接數(shù)字器件,是由兩個參數(shù)相同的三極管或 MOSFET 以推挽方式連接,各負(fù)責(zé)正負(fù)半周的波形放大任務(wù)。電路工作時,兩只對稱的功率開關(guān)管每次只有一個導(dǎo)通,所以導(dǎo)通損耗小、效率高,既提高電路的負(fù)載能力, 又提高開關(guān)速度。
    總結(jié)一下:推挽輸出可以輸出強(qiáng)高低電平,連接數(shù)字器件;而開漏輸出只可以輸出低電平,高電平得靠外部電阻拉高。輸出端相當(dāng)于三極管的集電極,要得到高電平狀態(tài)需要上拉電阻才行,適合于做電流型的驅(qū)動,其吸收電流的能力相對強(qiáng)(一般 20ma 以內(nèi))。
    2.2GPIO 相關(guān)寄存器
    STM32F103 的每個 GPIO 端口有:兩個 32 位配置寄存器(GPIOx_CRL 和GPIOx_CRH)、兩個 32 位數(shù)據(jù)寄存器(GPIOx_IDR 和 GPIOx_ODR)、一個 32 位置位/復(fù)位寄存器(GPIOx_BSRR)、一個 16 位復(fù)位寄存器(GPIOx_BRR)、一個 32 位鎖定寄存器(GPIOx_LCKR)。
    (1)GPIOx_CRL 寄存器(x=A~G)

   
    圖8
    該寄存器用于配置 IO0~7 的輸入輸出模式以及速率設(shè)置。
    (2)GPIOx_CRH 寄存器(x=A~G)


   
    圖9
    該寄存器用于配置 IO8~15 的輸入輸出模式以及速率設(shè)置。
    (3)GPIOx_IDR 寄存器(x=A~G)

   
    圖10
    IDR 是 GPIO 的輸入數(shù)據(jù)寄存器。通過 IDR 寄存器可以讀出 IO 的狀態(tài)。需要注意的是 IDR 寄存器只能以字(16 位)的形式讀出。
    (4)GPIOx_ODR 寄存器(x=A~G)

   
    圖11

    ODR 是 GPIO 的輸出數(shù)據(jù)寄存器。通過 ODR 寄存器可以輸出高低電平。
    (5)GPIOx_BSRR 寄存器(x=A~G)

   
    圖12

    BSRR 是GPIO 的端口位設(shè)置/清除寄存器。BSRR 寄存器的高 16 位是清除IO 位,低 16 位是置位 IO 位。需要注意的是 BSRR 只有在寫入 1 的時候,相應(yīng)的功能才有作用,寫入 0 是無效的。
    (6)GPIOx_BRR 寄存器(x=A~G)

   
    圖13
    BRR 是 GPIO 的端口位清除寄存器。BRR 基礎(chǔ)只有在寫入 1 的時候,相應(yīng)的功能才有作用,寫入 0 無效。
    (7)GPIOx_LCKR 寄存器(x=A~G)

   
    圖14
    LCKR 是GPIO 的端口配置鎖定寄存器。LCKR 寄存器用來鎖定IO 口的配置, 設(shè)置后,除了復(fù)位后不能再配置 IO 的狀態(tài)。

    2.3GPIO 實(shí)驗(yàn)
    本節(jié)實(shí)驗(yàn)的內(nèi)容是周期性點(diǎn)亮無人機(jī)的航情燈以及信號燈,其中航情燈在四個螺旋槳底下,而信號燈則在開關(guān)兩側(cè)。
    查看原理圖可以得知無人機(jī)的航情燈同一接在 NPN 三極管 Q1 上,而三極管的基極又接在了單片機(jī)的 PA8 上;兩個信號燈分別接在了 PC13 和 PC14 上。


   
    圖15                                                                                   圖16


   
    圖17

    編寫代碼的思路如下表所示

   
    圖18
    按照代碼思路,編寫代碼(通過調(diào)用官方庫) 如下圖所示:

   
    圖19


   
    圖20
    完成配置后只需要周期點(diǎn)亮以及關(guān)閉 LED 即可。

   
    圖21
    其中延時如下圖所示。

   
    圖22
    保存、編譯、下載,如下圖所示,1 為保存,2 為編譯,3 為下載。


   
    圖23
    下載代碼到飛控上,就可以看到飛控的 LED 指示燈以及四個螺旋槳下面的航情燈周期閃爍的現(xiàn)象了,如下圖所示。


   
    圖24




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

如需定制開發(fā),請通過官網(wǎng)“瘋殼”網(wǎng)頁底部的“聯(lián)系我們”進(jìn)行聯(lián)系

文件下載請點(diǎn)擊: 【1】GPIO(LED航情燈、信號燈控制).pdf (1.02 MB)

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

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲人成网址在线观看 | 性88分钟| 欧美日韩精品一区二区三区视频 | 色婷婷影院 | 日韩欧免费一区二区三区 | 厚颜无耻有字幕在线观看 | 色avav| 毛片免费永久不卡视频观看 | 亚洲蜜臀 | 伊人2222 | 天天草天天操 | 亚洲天堂影院 | 在线欧美精品二区三区 | 日韩免费高清专区 | 久久精品亚洲牛牛影视 | 老子影院午夜伦手机不四虎 | 99久久久国产精品免费播放器 | 又色又爽又黄的网站 | 在线播放精品视频 | 久久青青热 | 国产三级精品三级在线专区91 | 年轻的馊子1中字hd 年轻的嫂子在线线观免费观看 | 免费人成在观看 | 成 人免费va视频 | 天堂网www在线观看 天堂网www在线 | 日韩欧美色视频 | 韩日一级 | 日本-区二区三区免费精品 日本强日本不卡一 | 亚洲一区二区在线 | 农村寡妇一级毛片免费播放 | 中文字幕五月天 | a级国产视频 | 香蕉视频在线观看男女 | 国产一页 | 榴莲视频app下载安装 | 9984四虎永久免费网站 | 二级片在线观看 | 狠狠婷 | 香蕉69精品视频在线观看 | 国产一级精品毛片 | 天天操天天插 |