使用iMessage玩五子棋,找到了小时候在课堂上传递小纸条的乐趣
06-21
Arduino之间的I2C通信 i2c地址设置 i2c地址就像你家里的地址一样,每个从机都有自己的地址,由于线路有只有一个主机,从机只能与主机通信,因此主机不需要地址。
设置i2c地址基本没有限制,只要在同一行且不重复即可。
设置从板地址只需执行Wire.begin(《地址》);由于主机不需要地址,因此只需 Wire.begin() 就足够了。
以下为从机设置示例。

设置从板地址为0x12,上传到从板并执行。
[pre lang="arduino" line="1" file="slave_01.ino"]#include 《Wire.h》 #define SLAVE_ADDRESS 0x12 void setup() { Wire.begin(SLAVE_ADDRESS); // 以地址 0x12 } void Loop() { }[/code] i2c 地址扫描 作为从机加入 I2C 总线 从机建立后,我们需要查看如果你找到了,就去找师傅。
i2c扫描仪可以说是主板最基本的例子,可以用来测试线路上连接的设备是否存在(只测试存在,不测试其功能)。
i2c_scanner 其实很简单。
主设备向所有地址发送 beginTransmission 和 endTransmission 来尝试建立连接。
在beignTransmission中输入从机的地址,即可在该地址测试设备。
如果error = 0(无错误),则表示该地址有设备注册了 如果error = 4(这是Wire库的设置,别问我为什么是4) ,这意味着该地址可能有一个设备,但有错误。
否则,表示没有设备正在使用该地址。
以下是一个简单的i2c扫描仪程序: [pre lang=“arduino” line=“1” file=“i2c_scanner.ino”]#include 《Wire.h》 #define SERIAL_BAUD 0 void setup() { Wire.begin(); Serial.begin(SERIAL_BAUD); Serial.println(“I2C扫描仪启动”); Serial.println(); } 空循环() { uint8_t错误, i2cAddress, devCount, unCount; Serial.println(“扫描中。
”); devCount = 0; unCount = 0; for(i2cAddress = 1; i2cAddress 《 ; i2cAddress++ ) { Wire.beginTransmission(i2cAddress); error = Wire.endTransmission(); if (error == 0) { Serial.print(“I2C device found at 0x”); if (i2cAddress《16) Serial.print(“0”); Serial.println(i2cAddress,HEX); devCount++; } else if (error==4) { Serial.print(“Unknow error at 0x”); if (i2cAddress《16) Serial.print(“0”); Serial.println(i2cAddress,HEX); unCount++; } } if (devCount + unCount == 0) Serial.println(“No I2C devices found ”); else { Serial.print(devCount); Serial.print(“ device(s) found”); if (unCount 》 0) { Serial.print(“,”中出现未知错误); Serial.print(unCount); Serial.print(“地址”); } Serial.println(); } Serial.println(); delay(); } [/code] 在这个例子中,应该可以得到结果如下: I2C扫描仪开始 扫描。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-18
06-17
06-18
06-17
最新文章
使用电子管有哪些注意事项?如何检查电子管之间是否短路?
博通支付1200万美元和解SEC财务欺诈指控
八名运营商高管确认加入虚拟运营商
内蒙古农牧区雷电灾害成因分析及防雷对策
北京联通将5G应用于世园会远程医疗急救
TD-SCDMA最后一轮冲刺测试启动,产业前景更加光明
专访阿里云总裁王健:云计算服务平台梦想成真
USB2.0控制器CY7C68013的接口设计与实现