OpenMV与单片机串口通信问题

之前在做OpenMV串口通信的时候遇到了一些坑,整形数据没有使用json字符串出现了乱码

本文记录了其串口通信的方法

OpenMV串口通信

openmv的管脚为数不多,我们要想做到控制更多的模块就要将他作为一个图像处理的传感器,把信息传输给我们用的其他芯片。

1.串口管脚

P4 TXD

P5 RXD

2.串口初始化

python下的代码很简单

1
2
3
4
5
6
7
import time, pyb
from pyb import UART

uart = UART(3, 115200, timeout_char=1000)

led_blue = pyb.LED(3)//这是自带的led,可以作为指示灯使用
led_red = pyb.LED(2)

3.串口发送

普通发送字符

1
2
uart.write(str)//发送str字符串
uart.write("abc")//发送abc

发送整形数就要用到json

1
2
3
4
x=123
y=234
str='横坐标为'+json.dumps(x)+'纵坐标为'+json.dumps(y)
uart.write(str)

4、串口接收

例如利用串口控制两个小led

1
2
3
4
5
6
7
8
9
if uart.any():
a=uart.readline().decode()
print(a)//打印到终端
if a=='abc':
led_blue.on()
led_red.off()
if a=='abd':
led_blue.off()
led_red.on()

END

注意,供电不得使用3.3V接口