2020年4月2日 星期四

1 STM32 GPIO 重點整理(一)


學任何一種MCU,最重要的一課,就是要把GPIO搞清楚,以下是用STM32 L1系列所做的重點整理,其餘系列也是一樣,可以參考。
註:在圖上按左鍵可放大圖檢示

GPIO基本結構




















GPIO可以設為4種模式之一:
1.  General input
2.  General output
3.  Analog
4.  AF(Alternate function)

General input   可設為以下三種之一:
1. Input floating
2. Input pull-up
3. Input pull-down

General output  可設為以下二種之一:
1. Output open-drain with pull-up or pull-down 
2. Output push-pull with pull-up or pull-down

AF(Alternate function) 可設為以下二種之一:
1. Alternate function push-pull with pull-up or pull-down
2. Alternate function open-drain with pull-up or pull-down

有關GPIO的使用,原文有詳細說明,節錄如下:

































I/O配置為INPUT

























I/O配置為OUTPUT



























I/O PORT 配置為OUTPUT時,注意:

Open drain mode
mode下,P-MOS完全沒作用,output register "0"使 N-MOS 導通,輸出為 Low
"1"使N-MOS 關閉,I/O在高阻抗狀態(Hi-Z)

Push-pull mode
N-MOS 導通,P-MOS 就會關閉,輸出為 Low
P-MOS 導通,N-MOS 就會關閉,輸出為 High
因為 N-MOS P-MOS 的狀態都相反,所以稱為 push-pull
output register "0"使 N-MOS導通"1"使 P-MOS導通

綜上所述,要讓Output值同設定值,要將Output mode設為Push-pull mode

I/O PORT 配置AF(Alternate function)













I/O PORT 配置Analog



註:
在電源重啟後,所有的 Pin 都是 Input FloatingGPIO 切換到其他功能都是關閉的。直到 reset完成,GPIOA13-15 GPIOB3-4 才會切換到 JTAG 用於除錯。此時,
PA15: JTDI in pull-up
PA14: JTCK/SWCLK in pull-down
PA13: JTMS/SWDAT in pull-up
PB4:  NJTRST in pull-up
PB3: JTDO in floating state

UART1_TX(PA9) / UART1_RX(PA10) 來當成 UART loader,用來更新 Firmware


沒有留言:

張貼留言