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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2814|回復: 0
收起左側(cè)

飛控開發(fā)基礎(chǔ)-[1] STM32 GPIO(LED航情燈、信號燈控制)

[復制鏈接]
ID:716213 發(fā)表于 2020-3-26 15:12 | 顯示全部樓層 |閱讀模式
圖片1.png

GPIOLED航情燈、信號燈控制)一、LED1.1 LED簡介
LEDLight Emitting Diode)即為發(fā)光二極管的縮寫。LED是一種在生活中非常常見的照明發(fā)光器件。LED的在我們生活中形態(tài)種類非常的多,如下圖所示。
   2.png

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

1.2 LED發(fā)光原理
LED最重要的一個發(fā)光結(jié)構(gòu)就是燈內(nèi)如綠豆大小般的燈珠。雖然它的體積很小,但它卻內(nèi)有乾坤,如下圖所示為LED內(nèi)部構(gòu)造。
圖片4.png
這個結(jié)構(gòu)極其復雜,一共分為好幾層:最上層叫做P型半導體層、中間層為發(fā)光層、最下層叫做N型半導體層。
從物理學角度來理解:當電流通過晶片時,N型半導體內(nèi)的電子與P型半導體內(nèi)的空穴在發(fā)光層劇烈地碰撞復合產(chǎn)生光子,以光子的形式發(fā)出能量(即大家看見的光)
二、GPIO2.1 GPIO簡介
GPIO(General-purpose input/output),通用的輸入輸出的簡稱,單片機的引腳可以供使用者自由使用,可以配置為輸出,也可以配置為輸入。其中輸出又可以是輸出高電平或者低電平。在電子電路中高電平是電壓高的狀態(tài),用邏輯來表示即為1低電平是電壓低的狀態(tài),用邏輯來表示即為0
STM32F103系列是意法半導體基于ARM Cortex M3內(nèi)核的32位單片機,飛控上用的主核心是48腳的STM32F103CBT6,其引腳如下圖所示。
5.png
STM32F103CBT6GPIO的功能較多,有ABCDGPIO,每組每個GPIO口都可以作為輸出輸出口使用之外, 還能作為復用引腳使用, 比如串口、I2CSPI 等特殊接口的引腳。 但是需要注意的是每個引腳的復用功能是有限制的, 所以硬件連接時需要注意每個引腳有哪些復用功能, 這個可以在 STM32F103的數(shù)據(jù)手冊中查看。GPIO 口一共有 8 種模式,分別為:浮空輸入,上拉輸入下拉輸入,模擬輸入,開漏輸出,推挽輸出,推挽式復用功能,開漏式復用功能如下表所示。
STM32F103GPIO工作模式
GPIO的工作模式
輸入模式
輸出模式
最大輸出速度
1GPIO_Mode_IN_FLOATING 浮空輸入
2GPIO_Mode_IPU 上拉輸入
3GPIO_Mode_IPD 下拉輸入
4GPIO_Mode_AIN 模擬輸入
(1)GPIO_Mode_Out_OD 開漏輸出(帶上拉或者下拉)
(2)GPIO_Mode_AF_OD 復用開漏輸出(帶上拉或者下拉)
(3)GPIO_Mode_Out_PP 推挽輸出(帶上拉或者下拉)
(4)GPIO_Mode_AF_PP 復用推挽輸出(帶上拉或者下拉)
110MHZ
22MHZ
350MHZ
8種功能我們就不一一介紹了, 有興趣可以上網(wǎng)搜索了解一下,這里主要講解一下開漏輸出和推挽輸出的區(qū)別。
1)開漏輸出
        輸出端相當于三極管的集電極. 需要上拉電阻才能得到高電平, 利用外部上拉電阻的驅(qū)動能力,減少IC內(nèi)部的驅(qū)動,驅(qū)動能力強,適合于做電流型的驅(qū)動可達到20mA
2)推挽輸出
        可以輸出高,低電平,連接數(shù)字器件,是由兩個參數(shù)相同的三極管或 MOSFET以推挽方式連接,各負責正負半周的波形放大任務(wù)。電路工作時,兩只對稱的功率開關(guān)管每次只有一個導通,所以導通損耗小、效率高,既提高電路的負載能力,又提高開關(guān)速度。
總結(jié)一下:推挽輸出可以輸出強高低電平,連接數(shù)字器件;而開漏輸出只可以輸出低電平,高電平得靠外部電阻拉高。輸出端相當于三極管的集電極,要得到高電平狀態(tài)需要上拉電阻才行,適合于做電流型的驅(qū)動,其吸收電流的能力相對強(一般20ma以內(nèi))
2.2 GPIO相關(guān)寄存器
STM32F103每個GPIO端口有兩個32位配置寄存器(GPIOx_CRL和GPIOx_CRH)、兩個32位數(shù)據(jù)寄存器(GPIOx_IDRGPIOx_ODR)一個32位置位/復位寄存器(GPIOx_BSRR)一個16位復位寄存器(GPIOx_BRR)一個32位鎖定寄存器(GPIOx_LCKR)
(1)GPIOx_CRL寄存器(x=A~G)
6.png

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

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

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

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

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

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

LCKRGPIO的端口配置鎖定寄存器。LCKR寄存器用來鎖定IO口的配置,設(shè)置后,除了復位后不能再配置IO的狀態(tài)。
2.3 GPIO實驗
本節(jié)實驗的內(nèi)容是周期性點亮無人機的航情燈以及信號燈,其中航情燈在四個螺旋槳底下,而信號燈則在開關(guān)兩側(cè)。
查看原理圖可以得知無人機的航情燈同一接在NPN三極管Q1上,而三極管的基極又接在了單片機的PA8上;兩個信號燈分別接在了PC13PC14上。
14.png
15.png
16.png

編寫代碼的思路如下表所示
1
管腳配置
1、定義結(jié)構(gòu)體;
2、使能時鐘;
3、填充結(jié)構(gòu)體;
4、裝載結(jié)構(gòu)體。
2
邏輯處理
周期點亮LED
按照代碼思路,編寫代碼(通過調(diào)用官方庫) 如下圖所示:
17.png
18.png



完成配置后只需要周期點亮以及關(guān)閉LED即可。
19.png

其中延時如下圖所示。
20.png

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

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


2.飛控開發(fā)基礎(chǔ)-【1】GPIO.pdf (1.09 MB, 下載次數(shù): 18)
回復

使用道具 舉報

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

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品视频在线看 | 六月色婷 | 日本精品一区二区 | 国产成人免费视频 | 国产成人精品综合 | 欧美不卡在线 | 99精品视频一区二区三区 | 天堂中文在线播放 | 久久精品国产亚洲 | av黄色国产| 99久久久无码国产精品 | 中文字幕av在线 | 丝袜 亚洲 另类 欧美 综合 | 一区二区三区视频 | 日韩三级免费观看 | 色爱综合 | 国产亚洲精品综合一区 | 国产精品美女在线观看 | 日韩一二区在线观看 | 欧美在线一区二区三区 | 国产亚洲欧美另类一区二区三区 | 天堂一区二区三区 | av网站在线播放 | 午夜伦理影院 | 亚洲精品一区二区三区蜜桃久 | 成人国内精品久久久久一区 | 欧美一级久久 | 国产精品久久久久久久粉嫩 | 免费在线国产视频 | 亚洲嫩草| 色视频网站 | 欧美freesex黑人又粗又大 | 日本成人免费网站 | 欧美国产视频 | 国产欧美日韩综合精品一区二区 | 国产精品久久久久久久久久 | 看片地址| 99综合 | 99久久免费精品国产男女高不卡 | jⅰzz亚洲 | 日日夜夜精品视频 |