1. 程式人生 > >stm32 引腳功能設定及應用

stm32 引腳功能設定及應用

GPIO_Mode_AIN = 0x0,                   模擬輸入
  GPIO_Mode_IN_FLOATING = 0x04,  浮空輸入


  GPIO_Mode_IPD = 0x28,               帶下拉輸入
  GPIO_Mode_IPU = 0x48,               帶上拉輸入


  GPIO_Mode_Out_OD = 0x14,   表示配置相應管腳為GPIO開漏輸出(真雙向IO)
  GPIO_Mode_Out_PP = 0x10,    通用推輓輸出模式


  GPIO_Mode_AF_OD = 0x1C,   表示配置相應管腳為複用功能的開漏輸出
  GPIO_Mode_AF_PP = 0x18      複用功能的推輓輸出模式

推輓輸出:可以輸出高,低電平,連線數字器件;推輓結構一般是指兩個三極體分別受兩互補訊號的控制,總是在一個三極體導通的時候另一個截止.

開漏輸出:輸出端相當於三極體的集電極. 要得到高電平狀態需要上拉電阻才行. 適合於做電流型的驅動,其吸收電流的能力相對強(一般20ma以內).
           要實現 線與 需要用OC(open collector)閘電路.是兩個引數相同的三極體或MOSFET,以推輓方式存在於電路中,

           各負責正負半周的波形放大任務,電路工作時,兩隻對稱的功率開關管每次只有一個導通,所以導通損耗小,效率高。輸出既可以向負載灌電流,也可以從負載抽取電流。

//--------------------------------------------------------------------------

但用作純粹的輸出時,可以選用GPIO_Mode_Out_PP,但是有些硬體上有要求用開發射極的結構就要用GPIO_Mode_Out_OD 。

如果既要用於輸出,又要接收訊號作輸入,無需改變該pin的工作模式,只需設定為輸入浮點狀態GPIO_Mode_IN_FLOATING ,但是讀的時候讀輸入暫存器(GPIOE->IDR)的值。輸出值照樣設定,不過輸出pin腳可能要硬體上 上拉。