串口通信有问题,openmv端能正确输出,可以32出错
-
import sensor, image, time, os, tf, math, uos, gc import json,pyb from pyb import UART,LED green_threshold = (0, 58, -49, -19, 39, -17) red_thresholds = (0, 100, 7, 127, -128, 127) led3=pyb.LED(3) sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.set_windowing((240, 240)) sensor.skip_frames(time = 2000) uart = UART(3,115200) uart.init(115200,bits = 8,parity = None,stop = 1) net = None labels = None min_confidence = 0.5 try: net = tf.load("trained.tflite", load_to_fb=uos.stat('trained.tflite')[6] > (gc.mem_free() - (64*1024))) except Exception as e: raise Exception('Failed to load "trained.tflite", did you copy the .tflite and labels.txt file onto the mass-storage device? (' + str(e) + ')') try: labels = [line.rstrip('\n') for line in open("labels.txt")] except Exception as e: raise Exception('Failed to load "labels.txt", did you copy the .tflite and labels.txt file onto the mass-storage device? (' + str(e) + ')') colors = [ (255, 0, 0), ( 0, 255, 0), (255, 255, 0), ( 0, 0, 255), (255, 0, 255), ( 0, 255, 255), (255, 255, 255), ] clock = time.clock() U1=1 while(True): clock.tick() img = sensor.snapshot() while(U1): clock.tick() img = sensor.snapshot() for i, detection_list in enumerate(net.detect(img, thresholds=[(math.ceil(min_confidence * 255), 255)])): if (i == 0): continue if (len(detection_list) == 0): continue print("********** %s **********" % labels[i]) for d in detection_list: [x, y, w, h] = d.rect() center_x = math.floor(x + (w / 2)) center_y = math.floor(y + (h / 2)) print('x %d\ty %d' % (center_x, center_y)) #zuo[0]=math.floor(x + (w / 2)) #zuo[1]=math.floor(y + (h / 2)) print(labels[i]) uart.write(labels[i]) led3.on() u1=0 print(clock.fps(), "fps", end="\n\n")
上面是openmv的函数,下面是32
void Openmv_Receive_Data(int16_t data) { // static u8 state = 0; openmv2=data; //定义一个变量接收openmv发送的数据 } OLED_ShowNum(70,20,openmv2,3,12);
openmv的串行终端上可以正确打印,但是32上不行
-
我运行代码没有复现出你的图片里的错误。