STM8 通用輸入輸出口--GPIO

簡介
通用輸入/ 輸出口用於芯片和外部進行數據傳輸。一個IO端口可以包括多達8 個引腳,每個引腳可以被獨立編程作爲數字輸入或者數字輸出口。另外部分口還可能會有如模擬輸入,外部中斷,片上外設的輸入/ 輸出等複用功能。但是在同一時刻僅有一個複用功能可以映射到引腳上。複用功能的映射是通過選項字節控制的。請參考數據手冊關於選項字節的描述。
每個端口都分配有一個輸出數據寄存器,一個輸入引腳寄存器,一個數據方向寄存器,一個選擇寄存器,和一個配置寄存器。一個I/O 口工作在輸入還是輸出是取決於該口的數據方向寄存器的狀態。

 GPIO主要功能
● 端口的各個位可以被單獨配置
● 可選擇的輸入模式:浮動輸入和帶上拉輸入 
● 可選擇的輸出模式:推輓式輸出和開漏輸出
● 數據輸入和輸出採用獨立的寄存器
● 外部中斷可以單獨使能和關閉
● 輸出擺率控制用以減少EMC噪聲
● 片上外設的I/O 功能複用
● 當作爲模擬輸入時可以關閉輸入施密特觸發器來降低功耗
● 在數據輸出鎖存時支持讀-修改-寫
● 輸入兼容 5V 電壓
● I/O 口工作電壓範圍爲1.6 V  到V DDIOmax

STM8 通用輸入輸出口--GPIO - Wornyong - 智能物聯,嵌入您我!

 

 I/O 的配置和使用
       每一個端口都有一個輸出數據寄存器 (ODR),一個引腳輸入寄存器 (IDR) 和一個數據方向寄存器 (DDR) 總是同相關的。
       控制寄存器1(CR1)和控制寄存器2(CR2)用於對輸入/ 輸出進行配置。任何一個I/O 引腳可以通過對DDR,ODR,CR1 和CR2寄存器的相應位進行編程來配置。
      寄存器中的位n對應於口的引腳 n 。
      各種不同配置總結。  
      IO 口配置表

STM8 通用輸入輸出口--GPIO - Wornyong - 智能物聯,嵌入您我!

  

STM8 通用輸入輸出口--GPIO - Wornyong - 智能物聯,嵌入您我!

 輸入模式
將DDRx  位清零就選擇了輸入模式。在該模式下讀IDR 寄存器的位將返回對應I/O 引腳上的電平值。
來了解關於模擬輸入,外部中斷,和施密特觸發使能/ 關閉的細節。
理論上可以通過軟件配置得到四種不同的輸入模式:懸浮不帶中斷輸入,懸浮帶中斷輸入,上拉不帶中斷輸入和上拉帶中斷輸入。但是在實際情況下不是所有的口都具有外部中斷能力和上拉,用戶應參考數據手冊中關於每個引腳的實際硬件性能描述來了解更多細節。

輸出模式
將DDRx  位置1就選擇了輸出模式。在該模式下向ODR寄存器的位寫入數據將會通過鎖存器輸出對應數字值到I/O 口。讀IDR 的位將會返回相應的I/O 引腳電平值。通過軟件配置CR1,CR2寄存器可以得到不同的輸出模式:上拉輸出,開漏輸出。 
復位後的默認配置
復位之後,所有的引腳都是懸浮輸入模式。

沒有使用的引腳
沒有使用的I/O 引腳必須連接到一個固定的電平值。或者是上拉或者是下拉。

低功耗模式 
低功耗模式對GPIO口的影響

STM8 通用輸入輸出口--GPIO - Wornyong - 智能物聯,嵌入您我!

輸入模式的詳述 
複用功能輸入
部分I/O 口可以被用作複用功能輸入。例如:可以被用來作爲輸入到定時器的輸入捕捉口。複用的輸入功能是不會自動選擇的,用戶可以通過寫相應的外設寄存器的控制位來選擇複用功能。

對於複用功能的輸入,用戶必須通過配置DDR和CR1 寄存器設置將對應的I/O 口設爲爲懸浮或是上拉輸入。

 中斷功能
用戶可以在I/O 引腳爲輸入模式時通過設置Px_CR2 寄存器的相應位來配置某個I/O 作爲外部輸入中斷模式。在該配置下,I/O 引腳上的一個信號沿或是低電平會產生一箇中斷請求。
在EXTI_CR[2:1]寄存器中對於每一箇中斷向量都可以獨立編程爲上升沿或下降沿觸發。
外部中斷只有在對應I/O 口被設置爲輸入模式下才有效。
中斷屏蔽
可以通過對Px_CR2 寄存器的相應位進行編程來單獨使能/ 關閉外部中斷功能。復位後外部中斷是關閉的。

模擬通道
DC外設可以選擇某些I/O 口作爲模擬輸入通道。如下面一節描述,當使用模擬通道的時候,DC_TDR 寄存器的輸入施密特觸發器必須被關閉。
推薦的和不推薦的模擬輸入配置

STM8 通用輸入輸出口--GPIO - Wornyong - 智能物聯,嵌入您我!

 施密特觸發器
部分I/O 口包括一個內嵌的輸入施密特觸發器。可以通過ADC_TDR 施密特觸發器禁止寄存器來使能/ 禁止施密特觸發器。

 輸出模式詳述
複用功能的輸出
複用輸出功能爲外設輸出到外部或者I/O 引腳提供一個方便的操作方法。當複用功能使能時,複用功能模塊接管了輸出鎖存寄存器(Px_ODR) 並強制Px_ODR 相應的位爲1。
複用輸出功能可以是上拉或者開漏輸出,取決於外設本身和控制寄存器1(Px_CR1) ,輸出擺率取決於控制寄存器2 (Px_CR2)的值。
例如:
考慮到要達到最佳性能,SPI輸出引腳必須設置爲上拉,快速擺率。UART_Tx可以被配置爲或者是上拉或者是開漏帶外部上拉來實現多從機的配置。

 擺率控制
輸出擺率可以使用CR2 的相應位通過軟件控制。置位CR相應位選擇爲10MHz的輸出頻率。該功能既可以用在開漏也可以用在帶上拉的輸出模式I/O 口,輸出類型爲O3 或者O4。請參考引腳描述表來了解每個口的輸出類型。


文章來處:http://kmoving.blog.163.com/blog/static/205049197201261113831100/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章