STM32第二章I/O端口應用

STM32F10xxx系列中,有7個I/O端口,每一個端口有兩個32位配置寄存器(GPIOx_CRL,GPIOx_CRH),兩個32位數據寄存器(GPIOx_IDR和GPIOx_ODR),一個32位置位/復位寄存器(GPIOxBSRR),一個16位復位寄存器(GPIOx_BRR)和一個32位鎖存器(GPIOx_LCKP)。經過軟件配置成輸入浮空,上拉,下拉,模擬輸入,開漏輸入,推輓式輸出,推輓式複用功能,開漏複用功能。

  • I/O端口必須32位字被訪問(不容許半字或字節訪問)
  • 全部引腳有弱上拉和弱下拉,配置輸入時,能夠被激活也能夠斷開

單獨的位設置或清除

  • 對GPIOx_ODR的個別位編程,軟件不須要禁止中斷,在單次APB2寫操做中,能夠只改一位或多位。經過「置位/復位寄存器」(GPIOx_BSRR,復位是GPIOx_BRR)中想要更改的位寫1來實現的。

外部中斷/喚醒線

  • 全部端口都有外部中斷能力。爲了使用外部中斷線,端口必須配置成輸入模式。

複用功能AF

  • 對於複用的輸入功能,端口必須配置成輸入模式(浮空、上拉或下拉)且輸入引腳由外部驅動
  • 複用輸出功能,端口配置成複用功能輸出模式(推輓或開漏)--引腳和輸出寄存器斷開,並和外設連接,外設沒有激活,輸出狀態不穩定
  • 雙向複用功能,端口配置成複用功能輸出模式(推輓或開漏)。這時,輸入驅動被配置成浮空輸入模式

軟件重映射I/O端口複用功能

  • 將一些複用功能從新映射到其餘引腳上,可經過軟件配置相應的寄存器

GPIO鎖定機制

  • 凍結I/O配置,在下一次復位以前不能改變端口的配置

I/O位輸入時,輸出驅動器禁止。根據輸入配置,弱上拉和下拉選擇性鏈接。

輸出配置,輸出驅動激活,

  • 開漏模式
  • 推輓模式
  • 施密特觸發被激活
  • 弱上拉下拉禁止

複用功能配置

  • 當配置成複用功能時,在開漏或推輓配置中,輸出驅動被打開,內置外設驅動輸出驅動器(複用功能輸出),施密特觸發輸入被激活,若上拉下拉禁用

模擬輸入配置

相關文章
相關標籤/搜索