很多人用过18B20这类单线协议的传感器,知道最好用的库是哪个吗?里面都有哪些库函数。、
The OneWire library provides several functions that can be used to access and control devices on a 1-wire bus. Here is a list of the most common functions:
onewire_reset(): Resets the current 1-wire bus and returns the status of the bus after reset.
onewire_search() : Searches for a new device on the 1-Wire bus and returns its ROM if found.
onewire_skip_rom(): Skips the ROM address in order to access a device directly.
onewire_read_byte() : Reads a single byte from the 1-Wire bus.
onewire_write_byte() : Writes a single byte to the 1-Wire bus.
onewire_read_bit() : Reads a single bit from the 1-Wire bus.
onewire_write_bit(): Writes a single bit to the 1-Wire bus.
onewire_triplet() : Scans the 1-Wire bus and returns three bits representing the state of 2 or 3 devices.
函数 onewire_search() 是一种低成本,可靠的多功能1-Wire协议技术的实现方式。它通过在1-Wire网络中扫描有效的令牌来识别1-Wire器件,并使用search_rom()函数对搜索结果进行校验。同时,它也包含其他重要的辅助功能,是从网络上获得1-Wire树的总线和节点信息的必备工具。
onewire_search()函数主要用于在1-Wire网络上搜索DS18B20传感器。它首先使用skip_romcommand同时发送给所有已连接的DS18B20设备,然后执行search_rom command和match_rom command来匹配特定的DS18B20物理地址,我们可以使用read_rom command来读取特定的DS18B20的芯片ID。如果网络里没有新的设备,就会得到一个空应答,但是它也可以检测到新添加的设备。
所以onewire_search()函数在1-wire网络上的作用就是当添加或移除1-Wire网络中的DS18B20传感器时,它将检测到变化并更新更改。 优势是可以实现自动搜索直到设备被添加或移除,然后重新扫描该网络,并且不会错过任何DS18B20对象。
|