資料介紹
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的調試口設置為普通IO口?資料下載
- 在STM32中選用IO模式設置實例資料下載
- 在STM32中選用怎樣選擇I/O模式?資料下載
- 如何選用薄膜電容器?資料下載
- STC51單的IO的配置和各個模式的區別資料下載
- STM32的IO口基本操作:初始化結構體,設置系統時鐘,開啟外設時鐘資料下載
- 如何在STM32中配置PWM死區時間資料下載
- STM32F1單片機的IO位帶操作頭文件免費下載 19次下載
- 詳解STM32低功耗模式 2157次閱讀
- STM32的IO外部中斷EXTI的使用 2115次閱讀
- HAL庫GPIO輸入模式在cubemx中的配置 1913次閱讀
- 關于在Bootloader模式下的應用程序下載 4283次閱讀
- 在TIA Portal中調整KUKA標準IO的數量 2089次閱讀
- STM32L152在stop模式下的低功耗設計 5497次閱讀
- stm32的IO模式具體意義 3170次閱讀
- 基于STM32介紹DMA的雙緩沖模式 2.4w次閱讀
- STM32單片機的八種IO口模式解析 3.8w次閱讀
- Zynq在sdk中選擇lwip模板的參數優化 6239次閱讀
- STM32實現對RTC鬧鐘喚醒的設計 1.4w次閱讀
- 基于STM32單片機對跑馬燈的控制 7043次閱讀
- 有關IO模式的問題,數據存儲與深度學習 4423次閱讀
- STM32三種BOOT模式介紹 3w次閱讀
- 最全STM32外設資料匯總 2.9w次閱讀
下載排行
本周
- 1AN158 GD32VW553 Wi-Fi開發指南
- 1.51MB | 2次下載 | 免費
- 2嵌入式軟件開發符合ISO 26262 功能安全標準
- 1.61 MB | 1次下載 | 免費
- 3AN148 GD32VW553射頻硬件開發指南
- 2.07MB | 1次下載 | 免費
- 4PZT驅動開關電路
- 0.09 MB | 1次下載 | 免費
- 5模擬電路仿真實現
- 2.94MB | 1次下載 | 免費
- 6PCB繪制基礎知識
- 2.44MB | 1次下載 | 免費
- 7EE-38:ADSP-2181 IDMA端口-周期竊取時序
- 75.0KB | 次下載 | 免費
- 8EE-82:使用ADSP-2181 DSP的IO空間對另一個ADSP-2181進行IDMA引導
- 86.86KB | 次下載 | 免費
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 452次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 139次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 132次下載 | 免費
- 4美的電磁爐維修手冊大全
- 1.56 MB | 24次下載 | 5 積分
- 5如何正確測試電源的紋波
- 0.36 MB | 19次下載 | 免費
- 6感應筆電路圖
- 0.06 MB | 10次下載 | 免費
- 7LZC3106G高性能諧振控制器中文手冊
- 1.29 MB | 9次下載 | 1 積分
- 8萬用表UT58A原理圖
- 0.09 MB | 9次下載 | 5 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論
查看更多