我想使用sda和scl引脚作为GPIO pins.How,我可以这样做吗?我已经使用了所有的引脚,包括模拟pins.Only左引脚是SDA,SCL和SS引脚。提前谢谢!!
发布于 2015-12-20 21:48:39
不确定使用哪个芯片,但如果使用流行的ATMega328P,SDA、SCL和SS引脚只是现有端口上的双重功能。

您可以在上面的图像中看到,您所寻找的引脚可以通过以下方式访问:
这样您就可以正常地写信给SDA:
PORTC |= (1 << PC4); // Sets "SDA" to high有关其他ATMega芯片的信息,请参阅您正在使用的芯片的数据表。SCL、SDA和SS可能被映射到不同的端口。
发布于 2015-12-22 10:26:12
@Honney!迪伦是对的。您可以以这种方式在SDA (端口C的bit4)上设置0或1。如果您不理解他的代码,请按照下面的代码操作。
为了将第4位设置为HIGH (1),我们将把端口设置为位或。
PORTC = PORTC | 0b00010000 // 4位将改为高位,其他比特不变
同样,要将第4位设置为LOW (0),我们将使用位和。
PORTC = PORTC & 0b11101111 //第4位将被设置为0,而其他位将保持不变
请注意:
0b00010000=1<<40b11101111=~(0b00010000)https://stackoverflow.com/questions/34383540
复制相似问题