資料介紹
STM32的GPIO介紹
STM32引腳說明
GPIO是通用輸入/輸出端口的簡稱,是STM32可控制的引腳。GPIO的引腳與外部硬件設備連接,可實現與外部通訊、控制外部硬件或者采集外部硬件數據的功能。
STM32F103ZET6芯片為144腳芯片,包括7個通用目的的輸入/輸出口(GPIO)組,分別為GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF、GPIOG,同時每組GPIO口組有16個GPIO口。通常簡略稱為PAx、PBx、PCx、PDx、PEx、PFx、PGx,其中x為0-15。
STM32的大部分引腳除了當GPIO使用之外,還可以復用位外設功能引腳(比如串口),這部分在【STM32】STM32端口復用和重映射(AFIO輔助功能時鐘) 中有詳細的介紹。
GPIO基本結構
每個GPIO內部都有這樣的一個電路結構,這個結構在本文下面會具體介紹。
這邊的電路圖稍微提一下:
保護二極管:IO引腳上下兩邊兩個二極管用于防止引腳外部過高、過低的電壓輸入。當引腳電壓高于VDD時,上方的二極管導通;當引腳電壓低于VSS時,下方的二極管導通,防止不正常電壓引入芯片導致芯片燒毀。但是盡管如此,還是不能直接外接大功率器件,須加大功率及隔離電路驅動,防止燒壞芯片或者外接器件無法正常工作。
P-MOS管和N-MOS管:由P-MOS管和N-MOS管組成的單元電路使得GPIO具有“推挽輸出”和“開漏輸出”的模式。這里的電路會在下面很詳細地分析到。
TTL肖特基觸發器:信號經過觸發器后,模擬信號轉化為0和1的數字信號。但是,當GPIO引腳作為ADC采集電壓的輸入通道時,用其“模擬輸入”功能,此時信號不再經過觸發器進行TTL電平轉換。ADC外設要采集到的原始的模擬信號。
這里需要注意的是,在查看《STM32中文參考手冊V10》中的GPIO的表格時,會看到有“FT”一列,這代表著這個GPIO口時兼容3.3V和5V的;如果沒有標注“FT”,就代表著不兼容5V。
STM32的GPIO工作方式
GPIO支持4種輸入模式(浮空輸入、上拉輸入、下拉輸入、模擬輸入)和4種輸出模式(開漏輸出、開漏復用輸出、推挽輸出、推挽復用輸出)。同時,GPIO還支持三種最大翻轉速度(2MHz、10MHz、50MHz)。
每個I/O口可以自由編程,但I/O口寄存器必須按32位字被訪問。
GPIO_Mode_AIN 模擬輸入
GPIO_Mode_IN_FLOATING 浮空輸入
GPIO_Mode_IPD 下拉輸入
GPIO_Mode_IPU 上拉輸入
GPIO_Mode_Out_OD 開漏輸出
GPIO_Mode_Out_PP 推挽輸出
GPIO_Mode_AF_OD 復用開漏輸出
GPIO_Mode_AF_PP 復用推挽輸出
下面將具體介紹GPIO的這八種工作方式:
浮空輸入模式
浮空輸入模式下,I/O端口的電平信號直接進入輸入數據寄存器。也就是說,I/O的電平狀態是不確定的,完全由外部輸入決定;如果在該引腳懸空(在無信號輸入)的情況下,讀取該端口的電平是不確定的。
上拉輸入模式
上拉輸入模式下,I/O端口的電平信號直接進入輸入數據寄存器。但是在I/O端口懸空(在無信號輸入)的情況下,輸入端的電平可以保持在高電平;并且在I/O端口輸入為低電平的時候,輸入端的電平也還是低電平。
下拉輸入模式
下拉輸入模式下,I/O端口的電平信號直接進入輸入數據寄存器。但是在I/O端口懸空(在無信號輸入)的情況下,輸入端的電平可以保持在低電平;并且在I/O端口輸入為高電平的時候,輸入端的電平也還是高電平。
模擬輸入模式
模擬輸入模式下,I/O端口的模擬信號(電壓信號,而非電平信號)直接模擬輸入到片上外設模塊,比如ADC模塊等等。
開漏輸出模式
開漏輸出模式下,通過設置位設置/清除寄存器或者輸出數據寄存器的值,途經N-MOS管,最終輸出到I/O端口。這里要注意N-MOS管,當設置輸出的值為高電平的時候,N-MOS管處于關閉狀態,此時I/O端口的電平就不會由輸出的高低電平決定,而是由I/O端口外部的上拉或者下拉決定;當設置輸出的值為低電平的時候,N-MOS管處于開啟狀態,此時I/O端口的電平就是低電平。同時,I/O端口的電平也可以通過輸入電路進行讀取;注意,I/O端口的電平不一定是輸出的電平。
開漏復用輸出模式
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- STM32 IO 簡介
- 探索者STM32F407ZG芯片IO引腳表下載 8次下載
- STM32中斷與事件的區別資料下載
- STM32L4中STOP2 模式的漏電流是如何產生的?資料下載
- stm32中如何計算波特率資料下載
- 如何選用合適的變壓器?資料下載
- 如何選用正確的電阻器?資料下載
- 如何將STM32的調試口設置為普通IO口?資料下載
- 在STM32中選用IO模式設置實例資料下載
- 在STM32中選用怎樣選擇I/O模式?資料下載
- 如何選用薄膜電容器?資料下載
- STC51單的IO的配置和各個模式的區別資料下載
- STM32的IO口基本操作:初始化結構體,設置系統時鐘,開啟外設時鐘資料下載
- 如何在STM32中配置PWM死區時間資料下載
- STM32F1單片機的IO位帶操作頭文件免費下載 19次下載
- STM32的IO外部中斷EXTI的使用 1658次閱讀
- HAL庫GPIO輸入模式在cubemx中的配置 1639次閱讀
- 關于在Bootloader模式下的應用程序下載 4036次閱讀
- 在TIA Portal中調整KUKA標準IO的數量 1911次閱讀
- STM32L152在stop模式下的低功耗設計 5368次閱讀
- stm32的IO模式具體意義 3056次閱讀
- 基于STM32介紹DMA的雙緩沖模式 2.3w次閱讀
- STM32單片機的八種IO口模式解析 3.8w次閱讀
- Zynq在sdk中選擇lwip模板的參數優化 6091次閱讀
- STM32實現對RTC鬧鐘喚醒的設計 1.3w次閱讀
- 基于STM32單片機對跑馬燈的控制 6672次閱讀
- STM32中IO口模擬串口輸出的亂碼現象 4686次閱讀
- 有關IO模式的問題,數據存儲與深度學習 4320次閱讀
- STM32三種BOOT模式介紹 2.9w次閱讀
- 最全STM32外設資料匯總 2.8w次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多