求助帖。。。

2019-07-21 08:35发布

u32 jpeg_in_func(JDEC* jd,u8* buf,u32 num)
{

    u32  rb; //读取到的字节数
       
        u8* SendBuff;        //发送数据缓冲区       
    FIL *dev=(FIL*)jd->device;  //待解码的文件的信息,使用FATFS中的FIL结构类型进行定义
    if(buf)                                     //读取数据有效,开始读取数据
    {
        f_read(dev,buf,num,&rb);//调用FATFS的f_read函数,用于把jpeg文件的数据读取出来
                SendBuff = buf;
                MYDMA_Config(DMA1_Channel4,(u32)&USART1->DR,*SendBuff,rb);//DMA1通道4,外设为串口1,存储器为SendBuff,长度SEND_BUF_SIZE.
                USART_DMACmd(USART1,USART_DMAReq_Tx,ENABLE); //使能串口1的DMA发送      
                MYDMA_Enable(DMA1_Channel4);//开始一次DMA传输!
                if(DMA_GetFlagStatus(DMA1_FLAG_TC4)!=RESET)        //判断通道4传输完成
                {
                        DMA_ClearFlag(DMA1_FLAG_TC4);//清除通道4传输完成标志
        }
        return rb;                        //返回读取到的字节数目
    }else return (f_lseek(dev,f_tell(dev)+num)==FR_OK)?num:0;//重新定位数据点,相当于删除之前的n字节数据
}  


求助,为什么 从SD卡读出来的数据通过串口发送到串口助手,为什么不能显示图片,只能显示十六进制的数据,应该能解码jpg图像啊,求大神告知???

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。