modules.onewire(单总线)
单总线即只有单根信号线,该线即传输数据也传输时钟,并且数据传输也为双向,节约 IO 口。
构造方法 onewire(gpio_num)
参数
gpio_num
:GPIO号。
返回值
- onewire 对象
实例方法 reset()
重置
返回值
- bool 类型,是否成功。
实例方法 readbit()
读取一位数据
返回值
- int 类型,读取到的数据。
实例方法 readbyte()
读取一个字节
返回值
- int 类型,读取到的数据。
实例方法 readbuffer(n)
读取指定长度的字节数
参数
n
:int 类型,需要读取的字节数
返回值
- bytearray 类型,读取到的字节数组
实例方法 writebit(bit)
写入一个位
参数
bit
:int 类型,需要写入的位数据
实例方法 writebyte(byte)
参数
byte
:int 类型,需要写入的字节数据
实例方法 writebuffer(buf)
参数
buf
:bytearray 类型,需要写入的数据
实例方法 select(rom_in)
让主机指定某一个从机。
参数
rom_in
:bytearray 类型,表示将指定从机的8byte的ROM数据。
实例方法 search(diff_in)
使用 F0H 标准搜索
参数
diff_in
:int 类型,第一次搜索优先选择的路径
返回值
list
:元素为(depth,roms)的列表,depth
为搜索深度,int 类型,rom
为器件 ROM 码,list 类型。
实例方法 skip()
跳过 ROM,适用于单节点
实例方法 depower()
重新使能IO
实例方法 crc8(data_in)
计算8位循环冗余校验码
参数
data_in
:需要校验的数据
返回值
- 返回校验码