fm.register(10, fm.fpioa.UART1_TX, force=True)
fm.register(11, fm.fpioa.UART1_RX, force=True)
uart_A = UART(UART.UART1, 9600, 8, None, 1, timeout=1000, read_buf_len=4096)
1**. fm.register相当于重映射**
2. uart_A = UART(UART.UART1, 9600, 8, None, 1, timeout=1000, read_buf_len=4096)是对串口属性配置
3. read_str=uart_A.read()串口接收函数,比如:
read_str=uart_A.read()
if read_str == b'\x01':
uart_A.write(result+ 's')
break
这段代码是K210接收到0x01时候会发送一个值,在这里有个坑,就是if read_str == b’\x01’:
mmp,在这里卡了半天😭,我以为串口发什么K210检测什么,也就是我发个’x’字符,K210检测到’x’🤗**'if read_str == ‘x’:然后接下来美滋滋地等着接收成功,然后发现死活通信不了。
在这里给大家写个表:
串口助手 | K210 |
---|---|
‘x’ | b’x’ |
123 | b’{’ 因为{字符对应ascill是123 |
0x01 | b’\x01’ |
你会发现发送的和接收的不一样,这也就是为什么我通信不了的原因。
- uart_A.write(result+ ‘s’)串口发送函数,和平常一样发送数据就行了,和接收数据不一样,没有什么格式要求。
这里只是常用的函数,还需要其他功能的,直接去看手册吧。