STM32F407ZGT6采集OV2640图像后通过串口2发送至C#上位机。上位机将数据流转成图片时总是参数无效。

2019-08-18 19:23发布

程序是使用原子哥的摄像头例程,为了每次只发一张所以只把void jpeg_test(void)里面的while(1)改成了以下内容
key=KEY_Scan(0);
  switch(key)
    {        
     case KEY0_PRES:
      if(jpeg_data_ok==1) //ÒѾ­²É¼¯Íêһ֡ͼÏñÁË
      {  
        p=(u8*)jpeg_buf;
        LCD_ShowString(30,210,210,16,16,"Sending JPEG data..."); //ÌáʾÕýÔÚ´«ÊäÊý¾Ý      
         for(i=0;i<jpeg_data_len*4;i++)  //dma&acute;&laquo;&Ecirc;&auml;1&acute;&Icirc;&micro;&Egrave;&Oacute;&Uacute;4×&Ouml;&frac12;&Uacute;,&Euml;ù&Ograve;&Ocirc;&sup3;&Euml;&Ograve;&Ocirc;4.
          {
            while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET); //&Ntilde;&shy;&raquo;··&cent;&Euml;&Iacute;,&Ouml;±&micro;&frac12;·&cent;&Euml;&Iacute;&Iacute;ê±&Iuml;   
            USART_SendData(USART2,p[i]);            
          }
      
        LCD_ShowString(30,210,210,16,16,"Send data complete!!");//&Igrave;á&Ecirc;&frac34;&acute;&laquo;&Ecirc;&auml;&frac12;á&Ecirc;&oslash;&Eacute;è&Ouml;&Atilde;
          jpeg_data_ok=2; //±ê&frac14;&Ccedil;jpeg&Ecirc;&yacute;&frac34;&Yacute;&acute;&brvbar;&Agrave;í&Iacute;ê&Aacute;&Euml;,&iquest;&Eacute;&Ograve;&Ocirc;&Egrave;&Atilde;DMA&Egrave;&yen;&sup2;&Eacute;&frac14;&macr;&Iuml;&Acirc;&Ograve;&raquo;&Ouml;&iexcl;&Aacute;&Euml;.         
      }            
  }  

非常奇怪的是,C#的上位机在接收单片机重启后的第一张图片可以显示,后面的一律都是参数无效。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。