快捷搜索:  汽车  科技

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库文件

arduino小白推荐(5分钟快速了解OneWire库)(1)

图1 使用库管理器下载Onewire库文件

如图1所示,点击“工具”→“管理库”,打开“库管理器”,在里面输入关键词:onewire,找到以后选择库文件版本,点击“安装”,安装成功之后,点击“项目”→“加载库”,在“贡献库”中点击OneWire,完成加载。

安装成功的库文件在Arduino项目文件夹→“libraries"文件夹中,在“OneWire”文件夹中可以找到所有库文件(包含示例文件),如图2所示。

arduino小白推荐(5分钟快速了解OneWire库)(2)

图2 OneWire库文件列表

2、认识OneWire类

打开图2列表中的“OneWire.h”文件,找到“class OneWire”关键词,这部分就是OneWire类(图3)。

arduino小白推荐(5分钟快速了解OneWire库)(3)

图3 OneWire类

3、OneWire构造函数

OneWire类的构造函数用于指定Arduino应用于单总线的引脚。

参数pin:表示应用于单总线的引脚。

构造函数原型如下,在OneWire.cpp中查看:

arduino小白推荐(5分钟快速了解OneWire库)(4)

图4 构造函数原型

4、OneWire的reset()函数

reset函数的作用是初始化单总线。

(1)返回值:uint8类型,表示初始化结构。返回1则表示单总线上有从机设备,且准备就绪;否则返回0。

(2)参数:无。

(3)函数原型:

arduino小白推荐(5分钟快速了解OneWire库)(5)

图5 reset()函数原型

5、OneWire的write_bit()函数

write_bit函数的功能是写时隙,即写1或写0。

(1)返回值:无。

(2)参数v:写入的数据。参数的bit0为0则为写0,bitl则为写1。

(3)函数原型:

arduino小白推荐(5分钟快速了解OneWire库)(6)

图6 write_bit函数原型

6、OneWire的read_bit()函数

read_bit函数的功能是读时隙,即读l或读0。

(1)返回值:uint8类型,表示读出的数据。

(2)参数:无。

(3)函数原型:

arduino小白推荐(5分钟快速了解OneWire库)(7)

图7 read_bit()函数原型

7、OneWire的write()函数

write函数的功能是发送1byte的数据。

(1)返回值:无。

(2)参数v:表示要发送的数据;power:可选参数,默认值为0。该参数表示在空闲状态引脚是否置高。若参数值为0则空闲状态为漏级或集电极开路;若为1则表示空闲状态引脚置高,以保证寄生性单总线器件的正常工作。

(3)函数原型:

arduino小白推荐(5分钟快速了解OneWire库)(8)

图8 write函数原型

8、OneWire的read()函数

read函数的功能是读取1byte的数据。

(1)返回值:uint8类型,表示读出的数据。

(2)参数:无。

(3)函数原型:

arduino小白推荐(5分钟快速了解OneWire库)(9)

图9 read函数原型

9、OneWire的select()函数

select函数的作用是让主机指定某一个从机。

(1)返回值:无。

(2)参数:rom[8]:表示将指定从机的8byte的ROM数据。

(3)函数原型:

arduino小白推荐(5分钟快速了解OneWire库)(10)

图10 select函数原型

10、OneWire的skip()函数

skip函数的作用是执行跳跃ROM指令。

(1)返回值:无。

(2)参数:无。

(3)函数原型:

arduino小白推荐(5分钟快速了解OneWire库)(11)

图11 skip函数原型

11、OneWire的其他函数

除上述函数之外,还有例如reset_search()、target_search()、search()等函数,更多功能及使用方法请打开OneWire.cpp阅读,这里不再介绍。

小结

OneWire库是针对单总线推出的扩展库,了解并掌握其使用方法对于Arduino的学习非常重要。

单总线(One-Wire)是Dallas公司的一项特有的总线技术,它采用单根信号线实现数据的双向传输,具有节省I/O口资源、结构简单、便于扩展和维护等优点。One-Wire适用于单个主机的系统,能够控制一个或多个从机设备。

初始化工作室专注于Arduino、Scratch、乐高的学习以及“STEM ”课程的实施,如果你觉得这篇文章对你有帮助,请“关注”我并且点个赞呗,非常感谢。

猜您喜欢: