- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Arduino - 内部集成电路.pdf
Arduino - 内部集成电路
内部集成电路(I2C)是⽤于微控制器和新⼀代专⽤集成电路之间的串⾏数据交换的系
统。 当 们之间的距离很短(接收器和发射器通常在同⼀个印刷电路板上)时使⽤。 通
过两根导线建⽴连接。 ⼀个⽤于数据传输,另⼀个⽤于同步(时钟信号) 。
如下图所⽰,⼀个设备始终是主设备。 在通信开始之前执⾏⼀个从芯⽚的寻址。
以这种⽅式,⼀个微控制器可以与112个不同的设备通信。 波特率通常为100 Kb /
sec(标准模式)或10 Kb / sec(慢波特率模式) 。 最近出现了波特率为3.4 Mb / s的系统。
通过I2C总线通信的器件之间的距离限制为⼏⽶。
板的I2C引脚
I2C总线由两个信号SCL和SDA组成。 SCL是时钟信号,SDA是数据信号。 当前总线
主机总是产⽣时钟信号。 ⼀些从设备可能迫使时钟低时延迟主设备发送更多数据(或
者在主设备尝试将时钟发出之前需要更多时间来准备数据) 。 这被称为“时钟伸展。
以下是不同Arduino板卡的引脚 -
no , Pro Mini A4 (SDA), A5 (SCL)
Mega, Due 20 (SDA), 2 1 (SCL)
Leonardo , Yun 2 (SDA), 3 (SCL)
Arduino I2C
我们有两种模式 - 主代码和从机代码 - 使⽤I2C连接两个Arduino板。 他们是 -
Master Transmitter / Slave Receiver 主发射器/从接收器
Master Receiver / Slave Transmitter 主接收器/从属发射器
主发射器/从接收器
让我们现在看看什么是主发送器和从接收器。
主发射机
以下函数⽤于初始化Wire库,并将I2C总线作为主器件或从器件加⼊。 这通常只调⽤
⼀次。
Wire.begin(address) - 在我们的例⼦中,地址是7位从地址,因为未指定主机,
将作为主机加⼊总线。
Wire.beginTransmission(address) - 开始向给定地址的I2C从器件发送数据。
Wire.write(value) - ⽤于从主设备传输到从设备的队列字节(在
beginTransmission()和endTransmission()之间的调⽤) 。
Wire.endTransmission() - 结束由beginTransmission()开始的对从设备的传输,
并传输由wire .write()排队的字节。
⽰例
#include Wire.h //include wire library
void setup() //this will run only once {
Wire.begin(); // join i c bus as master
}
short age = 0;
void loop() {
Wire.beginTransmission( );
// transmit to device #
Wire.write(age is = );
Wire.write(age); // sends one byte
Wire.endTransmission(); // stop transmitting
delay(1000);
}
从接收器
使⽤以下功能 -
Wire.begin(address) - 地址是7位从机地址。
Wire.onReceive(接收数据处理程序) - 当从设备从主设备接收数据时调⽤的函
数。
Wire.available() - 返回可⽤于使⽤Wire .read()检索的字节数,应在
Wire .onReceive()处理程序中调⽤。
⽰例
#include Wire.h //include wire library
void setup() { //this will run only once
Wire.begin( ); // join i c bus with address #
Wire.onReceive(receiveEvent); // call receiveEvent when the mas
您可能关注的文档
- A1包、空气净化器.doc
- ABB空气断路器技术资料.pdf
- ABCDE镇静镇痛策略对重症机械通气患者呼吸力学的影响.PDF
- AC-121-52R1航空器投入运行的申请和批准.pdf
- ADMSEIA模型在污水处理厂恶臭影响预测中的应用.PDF
- AIDS合并非结核分枝杆菌肺病的诊治进展.PDF
- Al2O3TiCCaF2自润滑陶瓷材料的研究.PDF
- AmericanSigma950系列采样器.PDF
- AN4140应用指南使用飞兆功率开关(FPS)的离线反激式.PDF
- Android开发环境离线搭建.pdf
- DB44_T 2611-2025 城市排水管网有毒有害气体监测与风险分级管理技术标准.pdf
- DB44_T 2612-2025 竞赛类科普活动策划与实施服务规范.pdf
- DB43_T 2947-2024 烟草种子质量控制规程.pdf
- DB37_T 4836-2025 煤矿风量实时监测技术要求.pdf
- 叉车防撞系统,全球前22强生产商排名及市场份额(by QYResearch).docx
- 超滤膜,全球前18强生产商排名及市场份额(by QYResearch).docx
- DB62T 4172-2020 玉米品种 酒623规范.pdf
- DB62T 4160-2020 在用真空绝热深冷压力容器综合性能在线检测方法.pdf
- DB62T 4164-2020 辣椒品种 酒椒1号.pdf
- DB62T 4133-2020 公路隧道地质超前预报机械能无损探测技术规程.pdf
文档评论(0)