首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

VB 串口通讯 缓冲区 清除不掉啊

2013-01-02 
VB 串口通信 缓冲区 清除不掉啊?? 我的 CPU 是 MC68376数据保存在AT29C010 用 电脑 232 串口 通信.用了很

VB 串口通信 缓冲区 清除不掉啊??
 我的 CPU 是 MC68376  数据保存在AT29C010

 用 电脑 232 串口 通信.
  
用了很多 串口调试软件,都会有一个问题
  
例如,       第一次 发送一组 数据后,返回 正常数据

        接着 发送 一组数据,但是这次 返回的 数据 还是第一次返回的数据. 

只能再发送一次,返回的数据才是正常的

          这是为什么啊
[解决办法]

引用:
 感谢你们
MSCOMM1.InBufferCount = 0 这一 句 我有的

  下位基 肯定没有问题的

  因为别人 就写出来了 可以正常 读写的程序

  我就不知道 问题出在 什么地方??

  是不是 要添加 什么语句呢???

我表示怀疑
首先、你用串口调试器(这个肯定没有问题)去通信,存在问题。
然后,你又否认了下位机有问题
那么岂不矛盾?
[解决办法]
引用:
  谢谢你的回答

  我也感觉很奇怪 ,调试软件,都出现问题.

 但是别人写的 程序,就可以正常读写啊. 我就是不明白为什么???

如果你用串口调试助手之类的软件测试,出现你所说的问题,那么出现问题的可能性有两种:
1、是下位机硬件或程序有问题
   如果你确定下位机硬件和程序没问题,比如同样的设备用别的程序可以正常使用,那有可能出错
问题的地方就是我所说的另一种可能性。

2、你对你使用设备的握手协议或数据格式没有搞清楚,导致信息或数据出错
   比如下位机通讯中规定某种命令为结束符或需要发重置命令等操作,你却没有按规定操作,也会
出现这样的问题。这种问题要处理,具体的要根据你的设备开发文档和你的程序来判断,不是什么自
己写个程序清楚缓冲区就搞定的,因为你说你的测试环境是串口调试助手这种工具,既然是这样,已
经不存在程序上的问题,完全是在命令交互时数据不能正常识别的问题。

如果你不是很了解整个过程,而又有现成的软件可以正常访问你的设备,你可以尝试安装一个串口抓
包软件来看看他们之间通讯的过程,以便模仿过程。当然,如果有开发文档或范例,最好还是按开发
文档或范例说的做,如果还有问题,最好向产品的开发商寻求帮助,这样最直接、快速和标准。

热点排行