0
我打算在atmega16中實現基於GPIO的I2C。 由於它應該有兩個引腳SCL,SDA。 SDA引腳應該是雙向的,但我知道的是,我們可以一次將引腳設置爲輸入或輸出。是否可以將GPIO配置爲輸入和輸出?
通過什麼方式我們可以實現它?
我打算在atmega16中實現基於GPIO的I2C。 由於它應該有兩個引腳SCL,SDA。 SDA引腳應該是雙向的,但我知道的是,我們可以一次將引腳設置爲輸入或輸出。是否可以將GPIO配置爲輸入和輸出?
通過什麼方式我們可以實現它?
SDA引腳應該是雙向的,但我知道的是,我們可以一次將引腳設置爲輸入或輸出。
這是事實,但I2C主控「知道」何時期望傳入數據。由於這是一個同步總線,因此在輸入/輸出數據之前,主機可以在驅動輸出或切換到三態/輸入之間進行切換。
愛特梅爾本應用說明可能對您有用:Atmel AVR156: TWI Master Bit Bang Driver
Atmel的示例使用輪詢的方法,這限制了速度。如果您的某個GPIO具有引腳更改中斷支持,您可以根據需要使用它來獲得更高的速度。
這個問題可以轉移到SOEE網站。 –