国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

歷史上的今天

今天是:2025年02月06日(星期四)

正在發(fā)生

2021年02月06日 | STM8學(xué)習(xí)筆記四——STM8的GPIO基礎(chǔ)知識

發(fā)布者:碼字奇才 來源: eefocus關(guān)鍵字:STM8  GPIO  基礎(chǔ)知識 手機看文章 掃描二維碼
隨時隨地手機看文章

一、GPIO定義

GPIO,即通用輸入輸出端口General Purpose Input Output的縮寫。

GPIO端口可以通過程序配置成輸入端口或輸出端口。

二、GPIO的IO模式

STM8的GPIO口有12種模式設(shè)置,其中輸入4種,輸出8種:

1、GPIO_Mode_In_FL_No_IT浮空輸入無中斷

2、GPIO_Mode_In_PU_No_IT上拉輸入無中斷

3、GPIO_Mode_In_FL_IT浮空輸入有中斷

4、GPIO_Mode_In_PU_IT 上拉輸入有中斷

5、GPIO_Mode_Out_OD_Low_Fast

開漏-輸出低-高速 Output open-drain, low level, 10MHz

6、GPIO_Mode_Out_PP_Low_Fast

推挽-輸出低-高速 Output push-pull, low level, 10MHz

7、GPIO_Mode_Out_OD_Low_Slow

開漏-輸出低-低速 Output open-drain, low level, 2MHz

8、GPIO_Mode_Out_PP_Low_Slow

推挽-輸出低-低速 Output push-pull, low level, 2MHz

9、GPIO_Mode_Out_OD_HiZ_Fast

開漏-輸出高阻-高速 Output open-drain, high-impedance level, 10MHz

10、GPIO_Mode_Out_PP_High_Fast

推挽-輸出高-高速 Output push-pull, high level, 10MHz

11、GPIO_Mode_Out_OD_HiZ_Slow

開漏-輸出高阻-低速 Output open-drain, high-impedance level, 2MHz

12、GPIO_Mode_Out_PP_High_Slow

推挽-輸出高-低速 Output push-pull, high level, 2MHz

或者如下圖所示:

所以我們其實要弄懂的主要是輸入兩種模式(上拉和浮空)以及輸出的兩種模式(推挽和開漏),剩下的只是在這四種模式下根據(jù)參數(shù)設(shè)置不同進一步劃分。

1、上拉輸入模式

所謂上拉模式,即設(shè)置輸入模式時,接一個上拉電阻,大概如下圖所示:

上圖是STM8設(shè)置GPIO為上拉模式時的端口內(nèi)部電路簡圖,R1經(jīng)典取值范圍為30k~80k,典型值為55k。(弱上拉)

注:上拉電阻R越大,上拉作用越小,則為弱上拉;反之,R越小,上拉作用越大,則為強上拉。外部上拉電阻取值經(jīng)驗值為4.7k~10k。

上下兩個二極管起到一個保護電路的作用,防止外部輸入電壓太高或太低。這個保護電路可以將外部過高電壓降到3.8~4.1V,也可以將外部過低電壓抬升到-0.6V,從而保護內(nèi)部電路。

上拉輸入模式可以將不確定的浮空端口信號保持在一個高電平,是最常用的GPIO輸入模式。

1、浮空輸入模式

浮空模式和上拉模式最大的區(qū)別就是沒有上拉電阻:

這種結(jié)構(gòu)的輸入阻抗較高,能最真實地反映外部輸入信號,主要用于ADC(數(shù)模轉(zhuǎn)化)的場合。

1、推挽輸出模式

推挽(PP)輸出模式如下圖所示:

簡單來說,MOS管Q1和Q2,在輸出高低電平時分別起作用。 輸出高電平的時候,Q1導(dǎo)通,Q2截止;輸出低電平的時候,Q1截止,Q2導(dǎo)通??傊?,Q1與Q2在工作時總是保持在一個導(dǎo)通和另一個截止的狀態(tài)。推挽輸出模式的優(yōu)點是損耗小,效率高。

1、開漏輸出模式

開漏(OD)輸出模式,顧名思義即漏極開路的輸出模式,如下圖所示:

開漏輸出模式和推挽輸出模式最大區(qū)別在于沒有Q1,只能輸出低電平狀態(tài)“0”,而不能直接輸出高電平狀態(tài)“1”。必須外接上拉電阻,才能輸出“1”。這其實跟51單片機的P0口是一樣的。

開漏輸出模式的特點:

(1)開漏模式須外接上拉電阻才能輸出高電平,驅(qū)動電流大多數(shù)是由外部電源經(jīng)過上拉電阻供給,單片機內(nèi)部一般只需要提供極小的柵極控制電流即可。降低單片機功耗。

(2)開漏模式可用于電平信號標準的轉(zhuǎn)換。外部上拉電阻外加的電源電壓可以是5V也可以是3.3V(STM8端口最高可承受5V電壓),開漏結(jié)構(gòu)可以灌入較大電流(20mA),間接實現(xiàn)TTL電平系列或CMOS電平系列的轉(zhuǎn)換。

(3)開漏模式可用于I2C總線,實現(xiàn)“線與”功能。

(4)開漏模式使用外加上拉電阻,則上拉電阻小,上拉作用強,上升沿時間短,速度快;上拉電阻大,上拉作用小,上升沿時間長,速度緩。

注:STM8單片機“真正的”開漏輸出模式內(nèi)部電路:PE1/I2C_SCL與PE2/I2C_SDA(沒有連接VDD的保護二極管)

三、GPIO的寄存器設(shè)置

GPIO的5個寄存器:

1.輸出數(shù)據(jù)寄存器ODR;

2.引腳輸入寄存器IDR;

3.數(shù)據(jù)方向寄存器DDR;

4.控制寄存器CR1;

5.控制寄存器CR2;

模式配置圖,如下圖所示

STM8通過DDR、CR1和CR2三個寄存器來配置不同的輸入輸出模式。用ODR存儲要輸出的信號,用IDR來讀取對應(yīng)端口的信號。以上5種寄存器都是8位,對應(yīng)值STM8每組GPIO對應(yīng)的8個端口(7:0)。

通過寄存器操作GPIO的示例:

int main(void)

{

/*設(shè)置內(nèi)部高速時鐘16M為主時鐘*/

CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);

GPIOB->DDR = 0x20;//配置GPIOB的方向寄存器,設(shè)置pin5為輸出模式

GPIOB->CR1 = 0x20;//配置GPIOB_5為推挽輸出

GPIOB->CR2 = 0x00;

while(1)

{

GPIOB->DDR = 0x20;//GPIOB_5輸出高電平,亮

delay();

GPIOB->DDR = 0x00;//GPIOB_5輸出低電平,暗

delay();

}

}

四、GPIO的庫函數(shù)實現(xiàn)。

所謂庫函數(shù),其實就是官方做的驅(qū)動程序庫,將對寄存器用結(jié)構(gòu)圖一一對應(yīng)并封裝起來,并提供了基本的配置函數(shù)。我們只要使用官方的庫函數(shù)就就可以了,不用再花大力氣研究寄存器的配置。

簡單舉例說明:

GPIO_Init(LED1_PORT,LED1_PIN,GPIO_MODE_OUT_PP_HIGH_FAST );

GPIO_Init這個命令是設(shè)置或者說定義管教模式的,上面這條命令的意思就是LED1代表的管教設(shè)置為推挽輸出模式,初始高電平,高速模式。

注:LED1_PORT和LED1_PIN應(yīng)該在相關(guān)的頭文件或者別處已注釋,如

#define LED1_PIN GPIO_PIN_5

#define LED1_PORT GPIOB

GPIO_WriteLow(LED1_PORT,LED1_PIN);

在LED1這個管腳輸出低電平;

GPIO_WriteHigh(LED1_PORT,LED1_PIN);

在LED1這個管腳輸出高電平;

GPIO_WriteReverse(LED1_PORT,LED1_PIN);

翻轉(zhuǎn)LED1這個管腳的電平狀態(tài);


關(guān)鍵字:STM8  GPIO  基礎(chǔ)知識 引用地址:STM8學(xué)習(xí)筆記四——STM8的GPIO基礎(chǔ)知識

上一篇:關(guān)于PC-lint,以及如何在MDK中添加PC-lint工具
下一篇:STM8學(xué)習(xí)筆記三——錯誤:no definition for "assert_failed"

推薦閱讀

作為智能技術(shù)的集合體,機器人在近幾年飛速發(fā)展。未來,機器人將朝著什么方向繼續(xù)前行?經(jīng)過多年的經(jīng)驗沉淀,以及創(chuàng)新研發(fā),智能技術(shù)不斷獲得突破性進展。作為智能技術(shù)的集合體,機器人在近幾年飛速發(fā)展。未來,機器人將朝著什么方向繼續(xù)前行?隨著科技的進步,機器人走進現(xiàn)實已不再是遙不可及的夢。就工業(yè)機器人而言,目前已經(jīng)被廣泛運用于機械、物流、船...
英國倫敦的蓋特威克機場日前宣布將于今年8月開始在機場測試一款停車機器人。旅客們只需要掃描自己的航班信息,把車停到指定位置,機器人就會來帶走汽車,前往機器人停車場,通過人工智能系統(tǒng)尋找車位,完成停車任務(wù)。研發(fā)人員表示,采用AGV機器人停車,可以通過更科學(xué)的停放方式節(jié)省近50%的停車場空間。由于機器人無需進入車內(nèi),鑰匙還是由旅客自己保管,...
在眼下這個時間,任何話題好像最終都繞不開疫情。不過對于絕大多數(shù)普通群眾來說,盡量在家待著不給社會添亂就是最大的貢獻。但總有一些情況下,我們不得不出門。 那么在這個時候,我們一直關(guān)注的智能汽車又能做點什么呢?基于 GeekCar 對當前已量產(chǎn)的智能汽車功能理解,我們整理了一些對預(yù)防病毒傳播有幫助的功能以及使用場景。其中也包括了一些我認為已...
當按下開關(guān)SP1,AT89S51單片機產(chǎn)生“叮咚”聲從P1.0端口輸出到LM386,經(jīng)過放大之后送入喇叭。電路原理圖系統(tǒng)板上硬件連線(1. 把“單片機系統(tǒng)”區(qū)域中的P1.0端口用導(dǎo)線連接到“音頻放大模塊”區(qū)域中的SPK IN端口上;(2. 在“音頻放大模塊”區(qū)域中的SPK OUT端口上接上一個8歐或者是16歐的喇叭;(3. 把“單片機系統(tǒng)”區(qū)域中的P3.7/RD端口用導(dǎo)線連...

史海拾趣

小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved