在绝望中寻求希望 :: 一切只是开始

来源: BlogBus 原始链接: http://www.blogbus.com:80/blogbus/blog/diary.php?diaryid=453769 存档链接: https://web.archive.org/web/20050119214807id_/http://www.blogbus.com:80/blogbus/blog/diary.php?diaryid=453769


一切只是开始 现征用为 loveunix 临时信息发布站 <<<焦头烂额 | 首页 | 什么是google的pagerank>>> 在绝望中寻求希望 时间:04/10/21 我从十月开始跟踪的这个rs232传输不稳定问题,今天终于解决了,还不是治本的,只是从软件角度,通过损失效率来保证准确性。 现在,文件传输使用的是 zmodem 的协议,现在的问题比较明确了,从 PC 向 linux 端发送数据的时候,由于unexpected的原因,比如说 irda 的通讯稳定性导致的丢数据,linux端接收缓冲区设置过小导致数据溢出,irda芯片或者linux的板子里相关部分的波特率设置不够精确,这些都是我的猜测而以,无法证实。 今天可以如此神速的获得解决方案,一归功于之前半月有余的毫无进展;二归功于示波器,和小季的协助,我终于可以缓口气,不用再每天神经麻木,胡言乱语了――我的神志不清快要成我们研发部的笑话集了。 上午先是查看rs232的波形,115200的波特率,正常传输的时候so快,没有停歇的,数据包很快就可以传完;但是毫无预兆的突然停掉,过许久有可能继续传下去;我很无奈;我很困顿。 偶然的,用了带usb驱动的irda进行传输,突然发现,传输中间有间隔,也就是说,装在pc上的irda驱动,在把数据传到usb口时,进行了分包处理;另一方面,我检测了从linux使用zmodem传数据到pc的波形,发现数据也有分包的痕迹;这两点给了我些启发,看来是pc发送数据太快了,但是各种原因,我只能选择115200的传输速率,只能在发每块数据之前加延时,波形证明我的延时加对了地方,传输顺利的进行了下去 ―― 啊哈哈哈哈哈~~~~ 我想放肆的笑,可是笑不动了。 我想骂人,十几天的煎熬,居然就是要我加一句Sleep(15), 实验证明Sleep(10)还是会有明显的停顿。 就这样吧,话说回来这还只是工作的一个段落而已,只能说程序在Windows2000上运行正常了;而在Windows98上,还有更多的危难要我去踏平!!! 我的青春。。。 carol 发表于 04/10/21 20:57 引用Trackback(0) | 编辑 评论 现在还用rs232协议吗? 小强 ( ) 发表于 04/11/10 22:39 8要小看rs232,是非常基本的应用,而且很多新技术也是虚拟串口在工作的。 carol ( carol.blogbus.com ) 发表于 04/11/10 22:56 发表评论 最后更新 新的旧的 快到年底了 这几天和接下来要做的事情 水王聚会贴 loveunix 征集好的blog方案 什么是google的pagerank 不是好消息 loveunix 开放通告 没有 loveunix 的日子怎么过 loveunix 之 开也心痛,关也心痛