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:需要校验的数据

    返回值

    • 返回校验码