OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3469|回复: 1

ZET6上传图片文件出错问题

[复制链接]

1

主题

13

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2014-11-30
在线时间
0 小时
发表于 2015-6-6 09:59:19 | 显示全部楼层 |阅读模式
5金钱
大家好,我修改例程上面的程序,传输图片数据,但是接收到的数据出现大多数数据不对,接收数据也是有多有少,麻烦大家看看我的程序,看哪里出错了,我用电脑调试助手、php写的socket两种接收方式
程序方法:
u8 stdbmp_decode_send(const u8 *filename) 
{
  
FIL* f_bmp;
  u16 br;   
u8 res;
u16 i;
char *pname;
u8 *databuf;     //数据读取存放地址
u8 *d1;
  u16 readlen=BMP_DBUF_SIZE;//一次从SD卡读取的字节数长度
u8 *bmpbuf;   //数据解码地址
d1=(u8*)mymalloc(SRAMIN,10);
//if(pname==NULL){u2_printf("%s","pnamelose");}
#if BMP_USE_MALLOC == 1 //使用malloc
databuf=(u8*)mymalloc(SRAMIN,readlen); //开辟readlen字节的内存区域
if(databuf==NULL)return PIC_MEM_ERR; //内存申请失败.
f_bmp=(FIL *)mymalloc(SRAMIN,sizeof(FIL)); //开辟FIL字节的内存区域 
if(f_bmp==NULL) //内存申请失败.
{  
myfree(SRAMIN,databuf);
return PIC_MEM_ERR;
}  
#else //不使用malloc
databuf=bmpreadbuf;
f_bmp=&f_bfile;
#endif
res=f_open(f_bmp,(const TCHAR*)filename,FA_READ);//打开文件  
if(res==0)//打开成功.
{
    f_read(f_bmp,databuf,readlen,(UINT*)&br); //读出readlen个字节  指向文件对象的指针/指向数据缓冲区的指针/读取的字节数/指针读的字节数
bmpbuf=databuf;
    while(1)
{  
//d1=bmpbuf;
for(i=0;i<readlen;i++,bmpbuf++)//※填充ASCII字符集数据
{
USART2_TX_BUF=*bmpbuf; 
}
while(DMA1_Channel7->CNDTR!=0);                                    //等待通道7传输完成   
UART_DMA_Enable(DMA1_Channel7,strlen((const char*)USART2_TX_BUF)); //通过dma发送出去
res=f_read(f_bmp,databuf,readlen,(UINT *)&br);//读出readlen个字节
if(br!=readlen)readlen=br; //最后一批数据  
if(res||br==0)break; //读取出错
bmpbuf=databuf;
}
res=1;
f_close(f_bmp);//关闭文件
}  
#if BMP_USE_MALLOC == 1 //使用malloc
myfree(SRAMIN,databuf);  
myfree(SRAMIN,pname);
myfree(SRAMIN,d1);
myfree(SRAMIN,f_bmp);  
#endif
return res; //BMP显示结束.       

}
调试助手接收出错数据:      文件头都错掉了
42 4d 42 58 02 77 e8 6a a9 62 c9 62 c8 62 68 62 48 6a 87 62 a7 52 88 5a 68 62 87 5a c8 6a 08 7b 2a 83 ac 8b 4d a4 cf b4 30 c5 71 cd 92 d5 72 d5 92 d5 92 d5 92 cd 71 cd 71 cd 51 c5 51 cd 31 cd 51 c5 51 c5 51 bd 30 cd 31 c5 11 c5 f1 c4 11 c5 11 c5 11 cd b2 cd 92 cd 92 d5 b2 cd 72 cd 72 d5 72 d5 72 cd 72 c5 32 cd 71 c5 92 c5 72 cd 71 cd 71 c5 52 c5 72 c5 52 cd 51 c5 72 c5 72 c5 32 c5 11 c5 31 bd 31 bd 11 c5 31 c5 31 bd 31 bd f1 c4 f0 bc d1 bc f1 b4 f0 b4 ef ac cf ac d0 a4 cf a4 af a4 8f a4 6e a4 6e a4 6f 9c 4e a4 4d 9c 2c 9c 0c 94 0d 9c ed 9b cc 93 cc 93 cb 93 cc 8b aa 93 6c 93 6c 93 8b 8b 6b 8b 6a 83 2a 8b 09 83 29 7b 29 8b 09 83 0a 83 4a 83 2b 83 29 7b 49 7b 2a 83 2b 83 2a 83 6a 7b 0a 83 0a 7b e9 82 ea 82 e9 7a ca 7a ab 82 aa 82 ea 72 a9 72 ca 82 89 82 a9 7a a8 7a 88 7a ca 7a a9 82 aa 7a 8a 82 aa 7a 89 72 a8 72 a9 7a a9 72 69 7a 49 82 69 72 6a 7a 89 7a 89 72 8a 7a 89 7a 69 72 f0 bc 10 ad af ac 6f 9c ec 93 aa 73 2a 5b a9 6a a9 6a a9 72 e9 6a 09 63 29 63 09 73 29 73 0a 83 2a 83 2a 7b 6b 73 49 7b 49 7b 4a 83 2b 7b 0b 7b 4b 7b 6a 7b 4a 7b 2a 7b 49 7b 49 6b e9 7a 09 7b a9 7a 49 6b 49 7b 6a 7b cc 8b 0d 94 4e 94 af ac 10 bd 51 cd 92 d5 d2 d5 d2 cd 92 dd b2 dd b3 dd b3 d5 d2 dd b2 dd b2 d5 b2 d5 93 d5 b2 cd d2 d5 b2 d5 92 d5 b2 d5 92 d5 93 d5 b3 dd b3 dd b2 d5 b3 dd b3 d5 b3 dd d3 dd d3 dd d3 d5 f2 e5 f3 e5 13 de f3 dd d3 d5 d2 dd b3 dd b3 dd d2 d5 b2 d5 92 d5 92 d5 b2 d5 92 d5 92 dd b3 d5 d2 d5 b2 d5 92 d5 b2 d5 d3 d5 b3 dd b3 dd d2 dd d3 dd b3 dd d3 dd d2 dd b2 d5 b2。。。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-6-7 00:40:35 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 17:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表