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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 12165|回復: 4
收起左側

STM32的8種GPIO輸入輸出模式詳細分析

[復制鏈接]
ID:286222 發表于 2018-2-28 11:34 | 顯示全部樓層 |閱讀模式
STM32的8種GPIO輸入輸出模式詳細分析
詳細介紹了stm32的GPIO的輸入輸出各種參數,具有很高的參考價值

浮空,顧名思義就是浮在空中,上面用繩子一拉就上去了,下面用繩子一拉就沉下去了.     
開漏,就等于輸出口接了個 NPN 三極管,并且只接了 e,b.  c 極  是開路的,你可以接一個電阻到 3.3V,也可以接一個電阻到 5V,這樣,在輸出 1 的時候,就可以是5V 電壓,也可以是 3.3V 電壓了.但是不接電阻上拉的時候,這個輸出高就不能實現了.     
推挽,就是有推有拉,任何時候 IO 口的電平都是確定的,不需要外接上拉或者下拉電阻.   


(1)GPIO_Mode_AIN  模擬輸入   
(2)GPIO_Mode_IN_FLOATING  浮空輸入   
(3)GPIO_Mode_IPD  下拉輸入   
(4)GPIO_Mode_IPU  上拉輸入   
(5)GPIO_Mode_Out_OD  開漏輸出   
(6)GPIO_Mode_Out_PP  推挽輸出   
(7)GPIO_Mode_AF_OD  復用開漏輸出   
(8)GPIO_Mode_AF_PP  復用推挽輸出   

推挽電路是兩個參數相同的三極管或 MOSFET,以推挽方式存在于電路中,各負責正負半周的波形放大任務,電路工作時,兩只對稱的功率開關管每次只有一個導通,所以導通損耗小、效率高。輸出既可以向負載灌電流,也可以從負載抽取電流。推拉式輸出級既提高電路的負載能力,又提高開關速度。   

開漏輸出:輸出端相當于三極管的集電極.  要得到高電平狀態需要上拉電阻才行.  適合于做電流型的驅動,其吸收電流的能力相對強(一般20ma以內).   開漏形式的電路有以下幾個特點:   
1.  利用外部電路的驅動能力,減少 IC內部的驅動。當 IC內部MOSFET導通時,驅動電流是從外部的 VCC 流經 R  pull-up  ,MOSFET 到 GND。IC 內部僅需很下的柵極驅動電流。   
2.  一般來說,開漏是用來連接不同電平的器件,匹配電平用的,因為開漏引腳不連接外部的上拉電阻時,只能輸出低電平,如果需要同時具備輸出高電平的功能,則需要接上拉電阻,很好的一個優點是通過改變上拉電源的電壓,便可以改變傳輸電平。比如加上上拉電阻就可以提供 TTL/CMOS 電平輸出等。(上拉電阻的阻值決定了邏輯電平轉換的沿的速度  。阻值越大,速度越低功耗越小,所以負載電阻的選擇要兼顧功耗和速度。)   
3.  OPEN-DRAIN 提供了靈活的輸出方式,但是也有其弱點,就是帶來上升沿的延時。因為上升沿是通過外接上拉無源電阻對負載充電,所以當電阻選擇小時延
時就小,但功耗大;反之延時大功耗小。所以如果對延時有要求,則建議用下降沿輸出。   
4.  可以將多個開漏輸出的 Pin,連接到一條線上。通過一只上拉電阻,在不增加任何器件的情況下,形成“與邏輯”關系。這也是 I2C,SMBus 等總線判斷總線占用狀態的原理。補充:什么是“線與”?:   在 一 個 結 點 ( 線 ) 上 ,  連 接 一 個 上 拉 電 阻 到 電源  VCC  或  VDD  和  n  個  NPN  或  NMOS  晶體管的集電極  C  或漏極  D,  這些晶體管的發射極  E  或源極  S  都接到地線上,  只要有一個晶體管飽和,  這個結點(線)就被拉到地線電平上.  因為這些晶體管的基極注入電流(NPN)或柵極加上高電平(NMOS),晶體管就會飽和,  所以這些基極或柵極對這個結點(線)的關系是或非  NOR  邏輯.  如果這個結點后面加一個反相器,  就是或  OR  邏輯.   其實可以簡單的理解為:在所有引腳連在一起時,外接一上拉電阻,如果有一個引腳輸出為邏輯 0,相當于接地,與之并聯的回路“相當于被一根導線短路”,所以外電路邏輯電平便為 0,只有都為高電平時,與的結果才為邏輯 1。   

由于浮空輸入一般多用于外部按鍵輸入,結合圖上的輸入部分電路,我理解為浮空輸入狀態下,IO的電平狀態是不確定的,完全由外部輸入決定,如果在該引腳懸空的情況下,讀取該端口的電平是不確定的。   上拉輸入/下拉輸入/模擬輸入:這幾個概念很好理解,從字面便能輕易讀懂。   復用開漏輸出、復用推挽輸出:可以理解為 GPIO 口被用作第二功能時的配置情況(即并非作為通用 IO口使用)   
最后總結下使用情況:   
在STM32 中選用IO模式   
(1)  浮空輸入_IN_FLOATING  ——浮空輸入,可以做 KEY識別,RX1   
(2)帶上拉輸入_IPU——IO內部上拉電阻輸入   
(3)帶下拉輸入_IPD——  IO內部下拉電阻輸入   
(4)  模擬輸入_AIN  ——應用ADC模擬輸入,或者低功耗下省電   
(5)開漏輸出_OUT_OD  ——IO輸出0接GND,IO輸出1,懸空,需要外接上拉電阻,才能實現輸出高電平。當輸出為 1時,IO 口的狀態由上拉電阻拉高電平,但由于是開漏輸出模式,這樣 IO 口也就可以由外部電路改變為低電平或不變?梢宰xIO輸入電平變化,實現 C51的IO雙向功能   
(6)推挽輸出_OUT_PP  ——IO 輸出 0-接 GND,  IO 輸出 1  -接 VCC,讀輸入值是未知的   
(7)復用功能的推挽輸出_AF_PP  ——片內外設功能(I2C的SCL,SDA)   
(8)復用功能的開漏輸出_AF_OD——片內外設功能(TX1,MOSI,MISO.SCK.SS)   
STM32設置實例:   
(1)模擬I2C使用開漏輸出_OUT_OD,接上拉電阻,能夠正確輸出 0和1;讀值時先 GPIO_SetBits(GPIOB,  GPIO_Pin_0);拉高,然后可以讀 IO 的值;使用GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0);   
(2)如果是無上拉電阻,IO默認是高電平;需要讀取 IO的值,可以使用帶上拉輸入_IPU 和浮空輸入_IN_FLOATING和開漏輸出_OUT_OD;

完整的pdf格式文檔51黑下載地址:
STM32的8種GPIO輸入輸出模式詳細分析.pdf (126.08 KB, 下載次數: 88)

評分

參與人數 2黑幣 +8 收起 理由
chinalong007 + 3 贊一個!
112都是 + 5 很給力!

查看全部評分

回復

使用道具 舉報

ID:215465 發表于 2018-7-10 16:26 | 顯示全部樓層
學習一下!
回復

使用道具 舉報

ID:375028 發表于 2018-7-30 08:34 | 顯示全部樓層
需要學習的東西的很多,知得參考。。!
回復

使用道具 舉報

ID:355505 發表于 2018-7-30 10:23 | 顯示全部樓層
剛剛入學32,很有幫助
回復

使用道具 舉報

ID:380802 發表于 2018-7-30 12:22 | 顯示全部樓層
剛剛入學32,學習一下!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久黄色 | 欧美日韩久久精品 | av香港经典三级级 在线 | 欧美在线天堂 | 亚洲精彩视频 | 精品成人av | 成人免费高清 | 国产激情在线看 | 国产成人精品久久二区二区91 | 国产乱码精品一区二区三区中文 | 日韩欧美精品一区 | 日本小电影网站 | 亚洲www| 性生生活大片免费看视频 | 国产精品久久欧美久久一区 | 超碰97人人人人人蜜桃 | 日本精品一区二区三区在线观看视频 | 国产精品国产三级国产aⅴ中文 | 久久成人精品 | 超碰精品在线 | 国产精品久久久久久福利一牛影视 | 国产精品国产三级国产aⅴ无密码 | 在线第一页 | 一区二区av | 久久综合久久久 | 一区二区三区免费 | 在线国产一区二区三区 | 亚洲成人三级 | 精品国产91久久久久久 | 免费黄色的视频 | 国产一区二区三区不卡av | 中文字幕1区2区3区 亚洲国产成人精品女人久久久 | 日韩精品在线看 | 国产精品国产a | 91麻豆精品国产91久久久更新资源速度超快 | 免费v片 | 国产乱人伦精品一区二区 | 国外成人免费视频 | 91久久夜色精品国产网站 | 精产国产伦理一二三区 | 99国产精品一区二区三区 |