一个小问题,耽误大家一点时间。

[复制链接]
2385|8
 楼主| snowtx 发表于 2008-5-22 20:36 | 显示全部楼层 |阅读模式
今天终于能把bmp文件写到ARM中去了,不过我试着传输别的图片时发现,不是每个图片都能顺利传过去,有一些图片总是少一两个字节传不过去导致程序就死在那里了。请问一下,是不是编程时要考虑到数据丢失的问题?是不是要把文件的大小自己减少一两位?
btiger2000 发表于 2008-5-22 20:38 | 显示全部楼层

按照通信协议传, 少了可以做超时,重传阿!

  
 楼主| snowtx 发表于 2008-5-22 21:44 | 显示全部楼层

谢谢

谢谢楼上,通讯协议是不是就是指要配合bmp文件的文件格式阿?我可以确定我获得的文件大小肯定和实际的一样,但怎么重试都少一两位,请您能不能再说具体点,为什么有的图片就行,有的就不行。
wangkj 发表于 2008-5-22 23:11 | 显示全部楼层

tcp是可靠传输,不要用udp

  
walnutcy 发表于 2008-5-22 23:34 | 显示全部楼层

呵呵,没看明白,

不过老王厉害,LZ都没说是用网线传的数据,
 楼主| snowtx 发表于 2008-5-23 13:43 | 显示全部楼层

我错了

我是用串口传的,忘了说了
arm_imx 发表于 2008-5-26 10:15 | 显示全部楼层

可能是这个问题

使用串口传输,可能会过滤掉某些特殊字符,比如0x0d/0x0a。您可以把&lt0x10的字符先替换了,然后看看传输是否正常。
wowow 发表于 2008-5-26 13:09 | 显示全部楼层

一般大点的数据分包,每个包加个校验码

一般弄个最简单的传送协议,大点的数据分包,每个包前面一个同步码,数据长度,后面加个校验码。接收方接收正确返回一个确认,不正确返回一个错误码。不用管发送的什么内容。复杂的就多了,也有些现成的协议可以照抄。
 楼主| snowtx 发表于 2008-6-1 14:14 | 显示全部楼层

发现问题了

arm_imx高手阿,的确,我用winhex软件查了一下缺那些字符,真的是在0x0d+0x0a时会把0x0a省略掉,是不是当成一个字符了??这个问题是不是和传输软件有关系阿?传输文件的话怎么避免呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

66

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部