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图像啊,求大神告知???
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
C:Users14507DesktopWeChat Image_20181027221544.png
一周热门 更多>