Arduino-IIC-Wire.h
前言:Wire.h是Arduino的IIC库。
一、Wire库函数
- Wire.begin()
- Wire.requestFrom()
- Wire.beginTransmission()
- Wire.endTransmission()
- Wire.write()
- Wire.available()
- Wire.read()
- Wire.onReceive()
- Wire.onRequest()
二、库函数详细介绍
1、Wire.begin() 和 Wire.begin(address)
描述
初始化wire库 ,并且加入到I2C网络,前者作为Master 或 Slaver,并且只能调用一次。
参数
address :7位的器件地址(可选),如果没有输入,则以Master的形式加入到I2C网络。
2、Wire.requestFrom()
描述
主设备请求从设备一个字节,这个字节可以被主设备用 read()或available()接受。
Wire.requrstFrom(addtess,quantity)
Wire.requrstFrom(addtess,quantity,stop)
参数
addtess : 7位的器件地址
quantity : 请求得到的数量
stop :布尔形,‘1’ 则在请求结束后发送一个停止命令,并释放总线。‘0’则继续发送请求保持连接。
返回
字节形 ,从从机接受到的字节数目。
3 Wire.beginTransmission(address)
描述
开始一次传输数据,发送一个I2C开始字符
参数
address : 器件的7位地址
返回值 无
4、 Wire.endTransmission()和Wire.endTransmission(stop)
描述
结束一个由beginTransmission()开始的并且由write()排列的从机的传输。在Arduino中 endTransmission()接受到
一个布尔形变量,如果为1 则endTransmission()发送一个停止信息;如果为0 则发送开始信息
返回值
0 成功 1 数据溢出 2 发送addtess时从机接受到NACK 3 发送数据时接受到 NACK 4 其他错误
5、 Wire.write()
描述
向从机发送数据
形式
Wire.write(value)
Wire.write(string)
Wire.write(data, length)
参数
value :要发送的数值
string :字符组的指针
data :一个字节数组
length :传输的数量
例子:
#include <Wire.h> ; void setup() { Wire.begin(); // join i2c bus } void loop() { Wire.beginTransmission(); // transmit to device #44 (0x2c) // device address is specified in datasheet Wire.write(val); // sends value byte Wire.endTransmission(); // stop transmitting val++; // increment value ) // if reached 64th position (max) { val = ; // start over from lowest value } delay();}
6、 Wire.available()
描述
Wire.requestFrom()请求从机数据后,可以使用available接收
7、 Wire.read()
描述
Wire.requestFrom()请求从机数据后,可以使用read接收
8、 Wire.onReceive()
描述
从机接收主机发来的数据
9、 Wire.onRequest()
描述
从机请求主机发送数据
参考自:https://blog.csdn.net/zhao_120/article/details/47028415
-END-
最新文章
- 【oracle】数据泵expdp与impdp
- EF6 CodeFirst+Repository+Ninject+MVC4+EasyUI实践(八)
- 【推荐】iOS集合视图的可重新排序的layout
- cnblog code syntaxhighlighter view
- CoverFlow效果
- 关于html和body高度 登录页面登录框永远保持在页面垂直水平居中位置
- jquery实现多行文字图片滚动效果
- ios 添加到cell 上的button点击无效!扩大button的点击区域(黑魔法)
- 插入排序之python实现源码
- java学习之反射机制
- [Swust OJ 767]--将军回家(Dijkstra算法)
- JS经常使用正則表達式【分享】
- MySQL(1) - 基础
- Tomcat 服务器及使用Eclipse绑定Tomcat并发布应用
- Intellijidea建javaWeb以及Servlet简单实现
- vuejs关于函数式组件的探究
- python迭代器与生成器详解
- linux下的~/
- django之session与分页
- angular上传获取图片的directive指令