导航

    • 登录
    • 搜索
    • 版块
    • 产品
    • 教程
    • 论坛
    • 淘宝
    1. 主页
    2. phs4
    P
    • 举报资料
    • 资料
    • 关注
    • 粉丝
    • 屏蔽
    • 帖子
    • 楼层
    • 最佳
    • 群组

    phs4

    @phs4

    0
    声望
    1
    楼层
    636
    资料浏览
    0
    粉丝
    0
    关注
    注册时间 最后登录

    phs4 关注

    phs4 发布的帖子

    • openmv与stm32f103rct6数据格式接受问题,电脑串口助手显示单片机接受一堆非二进制数?
      请在这里粘贴代码
      ```# Blob Detection and uart transport
      import sensor, image, time
      from pyb import UART
      import json
      # For color tracking to work really well you should ideally be in a very, very,
      # very, controlled enviroment where the lighting is constant...
      red_threshold=(18, 69, 40, 86, 0, 72)
      # You may need to tweak the above settings for tracking green things...
      # Select an area in the Framebuffer to copy the color settings.
      
      sensor.reset() # Initialize the camera sensor.
      sensor.set_pixformat(sensor.RGB565) # use RGB565.
      sensor.set_framesize(sensor.QQVGA) # use QQVGA for speed.
      sensor.skip_frames(10) # Let new settings take affect.
      sensor.set_auto_whitebal(False) # turn this off.
      clock = time.clock() # Tracks FPS.
      
      uart = UART(3, 19200)
      def find_max(blobs):
          max_size=0
          for blob in blobs:
              if blob.pixels() > max_size:
                  max_blob=blob
                  max_size = blob.pixels()
          return max_blob
      
      while(True):
          img = sensor.snapshot() # Take a picture and return the image.
      
          blobs = img.find_blobs([red_threshold])
          if blobs:
              max_blob=find_max(blobs)
              #print('sum :', len(blobs))
              img.draw_rectangle(max_blob.rect())
              img.draw_cross(max_blob.cx(), max_blob.cy())
      
              output_str="%d%d" % (max_blob.cx(),max_blob.cy()) #方式1
              #output_str=json.dumps([max_blob.cx(),max_blob.cy()]) #方式2
              print('',output_str)
              uart.write(output_str+'\r\n')
      
      单片机程序
      #include "stm32f10x.h"
      #include "./led/bsp_led.h"
      #include "./uart/bsp_uart.h"
      
      
      void delay(uint32_t count)
      {
      	for(; count!=0; count--);
      }
      
      int main(void)
      {
      	uint8_t temp;
      	
      	LED_GPIO_Config();
      	
      	DEBUG_UART_Config();
      	
      	
      	while(1)
        {
      		temp = getchar();
      		printf("%d%d\n",temp);
      		
      		
      		
      			if (temp=(75,73))
      			{LED1_ON;
      			  LED2_OFF;}
      			else if (temp=(75,46))
      			{LED2_ON;
      			  LED1_OFF;}
      			else;
      				{LED2_OFF
      			  LED1_OFF;}
      			
      	
         }
      串口助手接收数据如下:[16:46:56.953]收←◆541073821696
      511073821696
      
      [16:46:56.988]收←◆541073821696
      501073821696
      
      [16:46:57.024]收←◆541073821696
      501073821696
      
      [16:46:57.059]收←◆541073821696
      501073821696
      
      [16:46:57.094]收←◆541073821696
      501073821696
      
      [16:46:57.129]收←◆541073821696
      501073821696
      
      [16:46:57.164]收←◆541073821696
      501073821696
      
      [16:46:57.200]收←◆541073821696
      501073821696
      
      [16:46:57.235]收←◆541073821696
      501073821696
      
      [16:46:57.271]收←◆541073821696
      501073821696
      openmv发送数据如下:
      6248
       6248
       6249
       6249
       6249
       6249
       6250
       6250
       6250
      
      
      数据格式不统一,不知道如何解决
      发布在 OpenMV Cam
      P
      phs4