mv--uart..串口v831

# Untitled - By: Administrator - 周四 四月 7 2022

import sensor, image, time
from pyb import UART
from pyb import Pin, Timer, LED
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames(time = 2000)

#uart=UART(1,9600)  #PA9 txd   PA10--rxd 微翻版OPENMV

uart = UART(3, 9600)  #正式openmv
uart.init(9600, bits=8, parity=None, stop=1) # init with given parameters timeout_char=1000

clock = time.clock()


g_uart_cmdA_flag=0   # 将变量声明为全局变量,如此才可改变其数值
g_uart_cmdB_flag=0

def Uart_recv():  # 串口接收数据
    global g_uart_cmdA_flag
    global g_uart_cmdB_flag

    if (uart.any()):   # 更新串口接收数据
        recv_data = eval(str(uart.read()))
        print(recv_data)
        #uart.write(recv_data)
        if ("Rec" in recv_data) :
            print("Openmv has recved CMD data.")
            if ("cmdA" in recv_data):
                g_uart_cmdA_flag = 1
                print("Ready for cmdA !")

            if ("cmdB" in recv_data):
                g_uart_cmdB_flag = 1
                print("Ready for cmdB !")

#def tick(timer):
    #Uart_recv()

##5ms读取一次检测一次串口,t=5ms f=1/t=200hz
#tim = Timer(2, freq=200)      # create a timer object using timer 2 - trigger at 1Hz
#tim.callback(tick)          # set the callback to our tick function


adata =10.2
bdata =123

cdata=88.65
ddata=896
while(True):
    clock.tick()
    img = sensor.snapshot()
    Uart_recv()
    if g_uart_cmdA_flag ==1  :
       # uart.write("loc"+(str)adata+"num"+(str)bdata+"#")   # 串口发送
        uart.write("adata:%0.2f bdata:%d#"%(adata,bdata))
        g_uart_cmdA_flag = 0

    if g_uart_cmdB_flag ==1  :
        uart.write("cdata:%0.2f ddata:%d#"%(cdata,ddata))
        g_uart_cmdB_flag = 0

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值