树莓派与openmv进行串口通信

硬件选型介绍
树莓派端串口配置
openmv端串口配置
电路物理链接
效果展示
  1. 硬件选型介绍

              树莓派3b 

              openmv 4 H7

         2.树莓派端口配置

    参考此文章:https://zhuanlan.zhihu.com/p/3885317(不要参考串口通信代码,代码有问题)

              用这个代码:

# -*- coding: utf-8 -*
import serial
import time

ser = serial.Serial("/dev/ttyAMA0",115200)

if not ser.isOpen():
    print("open failed")
else:
    print("open success: ")
    print(ser)

try:
    while True:
        count = ser.inWaiting()
        if count > 0:
            recv = ser.read(count)
            print("recv: " + recv)
            ser.write(recv)
        time.sleep(0.05) 
except KeyboardInterrupt:
    if ser != None:
        ser.close()

         3.openmv端口配置

            openmv 4有两个串口,这里用串口3,波特率115200。注意树莓派串口端的波特率需要与openmv端的波特率保持一致

          这里给出openmv串口通信发送与接收代码:

import time
from pyb import UART

uart = UART(3, 115200)

while(True):
    uart.write('1234')
    time.sleep(1000)//延时
    if uart.any():
        a=uart.readline().decode()
       //decode函数主要是解码使字节串转换为字符串,不懂参照这个视频讲解 
      //https://singtown.com/learn/50240/
        print(a)  

   4. 电路物理链接

                

    其中树莓派pin8:uart_tx->openmv p5:uart_rx

                   树莓派pin10:uart_rx->openmv p4:uart_tx

             还有一个很重要的是把树莓派的VCC和gnd与openmv的链接起来,共地,非常重要!!!

   5.效果展示

           tips:如果出现乱码的问题,考虑如下几点:波特率是否相同、是否共地!

           

         

That's all.

     

  

          

猜你喜欢

转载自www.cnblogs.com/clayyjh/p/12905157.html