导航

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

    uzn1

    @uzn1

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

    uzn1 关注

    uzn1 发布的帖子

    • RE: openmv 串口发送没有问题,但是串口接收不到数据

      啊,丢人,抱歉,是我自己问题,串口初始化写成3了,改回1之后一切正常

      发布在 OpenMV Cam
      U
      uzn1
    • openmv 串口发送没有问题,但是串口接收不到数据

      0_1571482944414_32c6bd2e-93c5-43e1-a004-f5073201a9fc-image.png
      这是发送的,没有问题,但是接收有问题,

      
      import time
      from pyb import UART
      uart = UART(3,9600,timeout_char=1000)
      print(1)
      while(True):
          if uart.any():
              a =uart.readline()
              print(a)
      
      
      发布在 OpenMV Cam
      U
      uzn1
    • RE: openmv 单独通过usb转串口可以将数据发送到串口助手显示将RX TX连接到stm32的TXRX上后无法读取到数据

      问题已解决,现在将经验分享下,最主要的问题是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

      发布在 OpenMV Cam
      U
      uzn1
    • 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);   
      		}
      	}	 
      }
      
      发布在 OpenMV Cam
      U
      uzn1