arduino小白推荐(5分钟快速了解OneWire库)
arduino小白推荐(5分钟快速了解OneWire库)参数pin:表示应用于单总线的引脚。OneWire类的构造函数用于指定Arduino应用于单总线的引脚。图2 OneWire库文件列表打开图2列表中的“OneWire.h”文件,找到“class OneWire”关键词,这部分就是OneWire类(图3)。图3 OneWire类
OneWire库不属于Arduino的基本库,请到Arduino官网下载,或者使用Arduino IDE 1.8.9的“库管理器”下载(详见:Arduino教程┃1招轻松搞定Arduino扩展库下载)。使用后者下载的库文件在Arduino项目文件夹的Libraries文件夹里。在OneWire库中定义了一个OneWire类,下面我将带你从类定义、构造函数、reset()、write_bit()、read_bit()、write()、read()、select()、skip()等各类函数快速了解它。
1、下载OneWire库文件图1 使用库管理器下载Onewire库文件
如图1所示,点击“工具”→“管理库”,打开“库管理器”,在里面输入关键词:onewire,找到以后选择库文件版本,点击“安装”,安装成功之后,点击“项目”→“加载库”,在“贡献库”中点击OneWire,完成加载。
安装成功的库文件在Arduino项目文件夹→“libraries"文件夹中,在“OneWire”文件夹中可以找到所有库文件(包含示例文件),如图2所示。
图2 OneWire库文件列表
2、认识OneWire类打开图2列表中的“OneWire.h”文件,找到“class OneWire”关键词,这部分就是OneWire类(图3)。
图3 OneWire类
3、OneWire构造函数OneWire类的构造函数用于指定Arduino应用于单总线的引脚。
参数pin:表示应用于单总线的引脚。
构造函数原型如下,在OneWire.cpp中查看:
图4 构造函数原型
4、OneWire的reset()函数reset函数的作用是初始化单总线。
(1)返回值:uint8类型,表示初始化结构。返回1则表示单总线上有从机设备,且准备就绪;否则返回0。
(2)参数:无。
(3)函数原型:
图5 reset()函数原型
5、OneWire的write_bit()函数write_bit函数的功能是写时隙,即写1或写0。
(1)返回值:无。
(2)参数v:写入的数据。参数的bit0为0则为写0,bitl则为写1。
(3)函数原型:
图6 write_bit函数原型
6、OneWire的read_bit()函数read_bit函数的功能是读时隙,即读l或读0。
(1)返回值:uint8类型,表示读出的数据。
(2)参数:无。
(3)函数原型:
图7 read_bit()函数原型
7、OneWire的write()函数write函数的功能是发送1byte的数据。
(1)返回值:无。
(2)参数v:表示要发送的数据;power:可选参数,默认值为0。该参数表示在空闲状态引脚是否置高。若参数值为0则空闲状态为漏级或集电极开路;若为1则表示空闲状态引脚置高,以保证寄生性单总线器件的正常工作。
(3)函数原型:
图8 write函数原型
8、OneWire的read()函数read函数的功能是读取1byte的数据。
(1)返回值:uint8类型,表示读出的数据。
(2)参数:无。
(3)函数原型:
图9 read函数原型
9、OneWire的select()函数select函数的作用是让主机指定某一个从机。
(1)返回值:无。
(2)参数:rom[8]:表示将指定从机的8byte的ROM数据。
(3)函数原型:
图10 select函数原型
10、OneWire的skip()函数skip函数的作用是执行跳跃ROM指令。
(1)返回值:无。
(2)参数:无。
(3)函数原型:
图11 skip函数原型
11、OneWire的其他函数除上述函数之外,还有例如reset_search()、target_search()、search()等函数,更多功能及使用方法请打开OneWire.cpp阅读,这里不再介绍。
小结OneWire库是针对单总线推出的扩展库,了解并掌握其使用方法对于Arduino的学习非常重要。
单总线(One-Wire)是Dallas公司的一项特有的总线技术,它采用单根信号线实现数据的双向传输,具有节省I/O口资源、结构简单、便于扩展和维护等优点。One-Wire适用于单个主机的系统,能够控制一个或多个从机设备。
初始化工作室专注于Arduino、Scratch、乐高的学习以及“STEM ”课程的实施,如果你觉得这篇文章对你有帮助,请“关注”我并且点个赞呗,非常感谢。