星瞳实验室APP,快速收到回复
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • openmv 单独通过usb转串口可以将数据发送到串口助手显示将RX TX连接到stm32的TXRX上后无法读取到数据



    • openmv代码

      
      import time
      from pyb import UART
      
      uart = UART(1, 9600)
      num=1
      while(True):
          uart.write(str(num))
          time.sleep(1000)
      
      

      stm32代码

      int main(void)
       {	
      	u8 t;
      	u8 len;	
      	u16 times=0; 
       
      	delay_init();	    	 //ÑÓʱº¯Êý³õʼ»¯	
      	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// ÉèÖÃÖжÏÓÅÏȼ¶·Ö×é2
      	uart_init(9600);	 //´®¿Ú³õʼ»¯Îª9600
      	LED_Init();		  	 //³õʼ»¯ÓëLEDÁ¬½ÓµÄÓ²¼þ½Ó¿Ú 
       
      	while(1)
      	{
      		if(USART_RX_STA&0x8000)
      		{					   
      			len=USART_RX_STA&0x3fff;//µÃµ½´Ë´Î½ÓÊÕµ½µÄÊý¾Ý³¤¶È
      			printf("\r\nÄú·¢Ë͵ÄÏûϢΪ:\r\n");
      			for(t=0;t<len;t++)
      			{
      				USART1->DR=USART_RX_BUF[t];
      				while((USART1->SR&0X40)==0);//µÈ´ý·¢ËͽáÊø
      			}
      			printf("\r\n\r\n");//²åÈë»»ÐÐ
      			USART_RX_STA=0;
      		}else
      		{
      			times++;
      			if(times%5000==0)
      			{
      				printf("\r\nALIENTEK MiniSTM32¿ª·¢°å ´®¿ÚʵÑé\r\n");
      				printf("ÕýµãÔ­×Ó@ALIENTEK\r\n\r\n\r\n");
      			}
      			if(times%200==0)printf("ÇëÊäÈëÊý¾Ý,ÒԻسµ¼ü½áÊø\r\n");  
      			if(times%30==0)LED0=!LED0;//ÉÁ˸LED,ÌáʾϵͳÕýÔÚÔËÐÐ.
      			delay_ms(10);   
      		}
      	}	 
      }
      


    • 问题已解决,现在将经验分享下,最主要的问题是stm32的代码,每次接受到数据后要在接受0x0d与0x0a,才为一次正常的数据接收,于是在要发送的数据后面加上,就可以得到了
      ![0_1571212459040_A6(MH_4DS8)HH2]FS{`F0TH.png](https://fcdn.singtown.com/21e6e99f-8270-42cb-a9ef-538b2cbe78ec.png)

      while(True):
          data=bytes([0x0d,0x0a])# 数据接收结束标志
          uart.write(str(num))
          uart.write(data)
          time.sleep(1000)
      

      接线,我用的是usb转串口,将openmv TX RX引脚分别接到STm32的RX,TX引脚上,共地,然后在将stm32的TX,RX引脚接到usb转串口上即可!
      0_1571212481504_IMG_0998.JPG



    • 请问一下那个转串口是怎么连接的 不太懂这个东西 而且把转串口连接到电脑后是不是就能通过串口查看收到的数据了呢