UIFlow 上手教程
RS485 数据写入
from m5stack import *
from m5ui import *
from uiflow import *
import hat
setScreenColor(0x111111)
hat_rs485_0 = hat.get(hat.RS485)
rx_data = None
label0 = M5TextBox(74, 0, "RS485 Demo", lcd.FONT_Default, 0xFFFFFF, rotate=90)
label1 = M5TextBox(52, 0, "Press btn Hello M5!", lcd.FONT_Default, 0xFFFFFF, rotate=90)
rxdata = M5TextBox(25, 0, "0", lcd.FONT_Default, 0xFFFFFF, rotate=90)
def buttonA_wasPressed():
global rx_data
hat_rs485_0.write('Hello M5!'+"\r\n")
pass
btnA.wasPressed(buttonA_wasPressed)
hat_rs485_0.init(1, baudrate=9600, data_bits=8, stop_bits=1, parity=None, ctrl_pin=None)
while True:
rx_data = hat_rs485_0.read()
if rx_data != None:
rxdata.setText(str(rx_data))
wait_ms(2)
hat_rs485_0.init(1, baudrate=9600, data_bits=8, stop_bits=1, parity=None, ctrl_pin=None)
print((str('cache:') + str((hat_rs485_0.any()))))
print(hat_rs485_0.read())
print((str('line:') + str((hat_rs485_0.readline()))))
print(hat_rs485_0.read(10))
print((str('coils:') + str((hat_rs485_0.read_coils(1, 1, 0)))))
print((str('discrete:') + str((hat_rs485_0.read_discrete_inputs(1, 1, 0)))))
print((str('holding:') + str((hat_rs485_0.read_holding_registers(1, 1, 0, True)))))
print((str('input:') + str((hat_rs485_0.read_input_registers(1, 1, 0, True)))))
hat_rs485_0.write('')
hat_rs485_0.write(''+"\r\n")
print((str('multiple coils:') + str((hat_rs485_0.write_multiple_coils(1, 1, 0)))))
print((str('multiple register:') + str((hat_rs485_0.write_multiple_registers(1, 1, 0, True)))))
hat_rs485_0.write(bytes([0, 0, 0]))
print((str('single coil:') + str((hat_rs485_0.write_single_coil(1, 1, 0)))))
print((str('single register:') + str((hat_rs485_0.write_single_register(1, 1, 0, True)))))