是否可以将GPIO配置为输入和输出?

时间:2014-02-28 10:34:15

标签: avr i2c gpio

我计划在atmega16中实现基于GPIO的I2C。 因为它应该有两个引脚SCL,SDA。 SDA引脚应该是双向的,但我所知道的是,我们可以将引脚设置为输入或输出。

我们可以通过什么方式实施它?

1 个答案:

答案 0 :(得分:1)

  

SDA引脚应该是双向的,但我所知道的是我们可以将引脚设置为输入或输出。

这是事实,但I2C主设备“知道”何时期望输入数据。由于这是一个同步总线,主机可以在输入/输出数据之前切换驱动输出或切换到三态/输入。

Atmel的此应用说明可能对您有用:Atmel AVR156: TWI Master Bit Bang Driver

Atmel的例子使用了一种限制速度的轮询方法。如果您的某个GPIO具有引脚更改中断支持,您可以利用它来获得更高的速度(如果需要)。