首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Arduino如何使用sda和scl引脚(20和21)作为gpio引脚

Arduino如何使用sda和scl引脚(20和21)作为gpio引脚
EN

Stack Overflow用户
提问于 2015-12-20 17:07:27
回答 2查看 2.3K关注 0票数 1

我想使用sda和scl引脚作为GPIO pins.How,我可以这样做吗?我已经使用了所有的引脚,包括模拟pins.Only左引脚是SDA,SCL和SS引脚。提前谢谢!!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-20 21:48:39

不确定使用哪个芯片,但如果使用流行的ATMega328P,SDA、SCL和SS引脚只是现有端口上的双重功能。

您可以在上面的图像中看到,您所寻找的引脚可以通过以下方式访问:

  1. SDA = PC4 (C端口第4位)
  2. SCL = PC5 (C端口第5位)
  3. SS = PB2 (B端口第2位)

这样您就可以正常地写信给SDA:

代码语言:javascript
复制
PORTC |= (1 << PC4); // Sets "SDA" to high

有关其他ATMega芯片的信息,请参阅您正在使用的芯片的数据表。SCL、SDA和SS可能被映射到不同的端口。

票数 1
EN

Stack Overflow用户

发布于 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<<4
  • 0b11101111=~(0b00010000)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34383540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档