找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2385|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

STM32F10x之GPIO

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:113276 發(fā)表于 2016-4-10 15:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

一、總述

1、STM32F10x共100個引腳,其中80個引腳為GPIO,分為5組,每組16個引腳,剩下的引腳為晶振輸入、電源輸入等。

2、每組GPIO由7個寄存器配置,分別是端口配置低寄存器(GPIOX_CRL)、端口配置高寄存器(GPIOX_CRH)、端口輸入數(shù)據(jù)寄存器、端口輸出數(shù)據(jù)寄存器、端口位清除寄存器、端口位設(shè)置/清除寄存器、端口鎖定配置寄存器。

二、GPIO的8種工作模式

1、上拉輸入(IPU):上拉就是輸入高電平,然后接一個上拉電阻(起保護作用)即表示該端口在默認(rèn)情況下輸入為高電平。

2、下拉輸入(IPD):下拉指輸入接低電平,然后接一個下拉電阻,該端口在默認(rèn)情況下輸入為低電平。3、浮空輸入(IN_FLOATING):浮空,顧名思義就是浮在空中,上面用繩子一拉就上去了,下面用繩子一拉就沉下去了。浮空輸入狀態(tài)下,IO的電平狀態(tài)是不確定的,完全由外部輸入決定,如果在該引腳懸空的情況下,讀取該端口的電平是不確定的。引腳電壓為不確定值,用于標(biāo)準(zhǔn)的通信協(xié)議如串口、I2C的接收端。

4、模擬輸入(AIN):不接上、下拉電阻,經(jīng)由另一線路把電壓信號傳送到片上外設(shè)塊,所以使用 ADC外設(shè)的時候,必須設(shè)置為模擬輸入模式
5、推挽輸出(OUT_PP):推挽,就是有推有拉,任何時候IO口的電平都是確定的,不需要外接上拉或者下拉電阻。應(yīng)用在輸出電平為0 和 3.3 伏的場合

6、開漏輸出(OUT_OD):開漏,就等于輸出口接了個NPN三極管,并且只接了E,B,而C極是開路的,你可以接一個電阻到3.3V,也可以接一個電阻到5V,這樣,在輸出1的時候,就可以是5V電壓,也可以是3.3V電壓了,但是不接電阻上拉的時候,這個輸出高就不能實現(xiàn)了。

7、復(fù)用推挽輸出(AF_PP):對于相應(yīng)的復(fù)用模式,則是根據(jù) GPIO 的復(fù)用功能來選擇的,如 GPIO的引腳用作串口的輸出,則使用復(fù)用推挽輸出模式。片內(nèi)外設(shè)功能(I2C的SCL,SDA)
8、復(fù)用開漏輸出(AF_OD):如果用在 IC、SMBUS這些需要線與功能的復(fù)用場合,就使用復(fù)用開漏模式。片內(nèi)外設(shè)功能(TX1,MOSI,MISO.SCK.SS)
三、STM32設(shè)置實例:
1、模擬I2C使用開漏輸出_OUT_OD,接上拉電阻,能夠正確輸出0和1;讀值時先GPIO_SetBits(GPIOB,GPIO_Pin_0);拉高,然后可以讀IO的值;使用GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0);
2、如果是無上拉電阻,IO默認(rèn)是高電平;需要讀取IO的值,可以使用帶上拉輸入_IPU和浮空輸入_IN_FLOATING和開漏輸出_OUT_OD;
四、通常有5種方式使用某個引腳功能,它們的配置方式如下:
1、作為普通GPIO輸入:根據(jù)需要配置該引腳為浮空輸入、帶弱上拉輸入或帶弱下拉輸入,同時不要使能該引腳對應(yīng)的所有復(fù)用功能模塊。
2、作為普通GPIO輸出:根據(jù)需要配置該引腳為推挽輸出或開漏輸出,同時不要使能該引腳對應(yīng)的所有復(fù)用功能模塊。
3、作為普通模擬輸入:配置該引腳為模擬輸入模式,同時不要使能該引腳對應(yīng)的所有復(fù)用功能模塊。
4、作為內(nèi)置外設(shè)的輸入:根據(jù)需要配置該引腳為浮空輸入、帶弱上拉輸入或帶弱下拉輸入,同時使能該引腳對應(yīng)的某個復(fù)用功能模塊。

5、作為內(nèi)置外設(shè)的輸出:根據(jù)需要配置該引腳為復(fù)用推挽輸出或復(fù)用開漏輸出,同時使能該引腳對應(yīng)的所有復(fù)用功能模塊。

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

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表