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



    •  /* USER CODE BEGIN 1 */
        uint8_t len;
        /* USER CODE END 1 */
      
        /* MCU Configuration--------------------------------------------------------*/
      
        /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
        HAL_Init();
      
        /* USER CODE BEGIN Init */
      
        /* USER CODE END Init */
      
        /* Configure the system clock */
        SystemClock_Config();
      
        /* USER CODE BEGIN SysInit */
      
        /* USER CODE END SysInit */
      
        /* Initialize all configured peripherals */
        MX_GPIO_Init();
        MX_USART1_UART_Init();
        /* USER CODE BEGIN 2 */
        delay_init(72);               	//初始化延时函数
        /* USER CODE END 2 */
      
        /* Infinite loop */
        /* USER CODE BEGIN WHILE */
        while (1)
        {
          /* USER CODE END WHILE */
      	  	    if(USART_RX_STA&0x8000)
      	  		{
      	  			len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
      	  			printf("\r\n您发送的消息为:\r\n");
      				HAL_UART_Transmit(&huart1,(uint8_t*)USART_RX_BUF,len,1000);	//发送接收到的数据
      				while(__HAL_UART_GET_FLAG(&huart1,UART_FLAG_TC)!=SET);		//等待发送结束
      				printf("\r\n\r\n");//插入换行
      				if(USART_RX_BUF[0]==0x30)  //openmv发送0
      				{
      					HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5|GPIO_PIN_6, GPIO_PIN_RESET);
      					HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
      					delay_ms(100);
      				}
      				else if(USART_RX_BUF[0]==0x31)  //openmv发送1
      				{
      					HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4|GPIO_PIN_6, GPIO_PIN_RESET);
      					HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
      					delay_ms(100);
      				}
      				else if(USART_RX_BUF[0]==0x32)  //openmv发送2
      				{
      					HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5|GPIO_PIN_4, GPIO_PIN_RESET);
      					HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_SET);
      					delay_ms(100);
      				}
      				USART_RX_STA=0;
      			}
      	 		delay_ms(10);
      	  //HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6);
      	  //delay_ms(200);
          /* USER CODE BEGIN 3 */
        }
        /* USER CODE END 3 */
      


    • 👍