vb 串口通信缓存区不会清除

qq_33731435 2016-01-13 03:52:31
第一次 发送一组 数据后,返回 正常数据

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

只能再发送一次,返回的数据才是正常的, 我单步调试了接收部分的程序发现出现错误的时候是接收到的上次发送的数据
我设置了MSComm1.OutBufferSize = 6 为什么还能收到大于6的字节数?
这是为什么啊
...全文
2047 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2016-01-14
  • 打赏
  • 举报
回复
OutBufferSize 是发送缓冲区的大小啊,和接收缓冲区有什么关系?
接收缓冲区应该是 InputBufferSize (没查文档应该是这个)
赵4老师 2016-01-14
  • 打赏
  • 举报
回复
引用 2 楼 Tiger_Zhao 的回复:
OutBufferSize 是发送缓冲区的大小啊,和接收缓冲区有什么关系? 接收缓冲区应该是 InputBufferSize (没查文档应该是这个)
InBufferSize 属性 设置并返回接收缓冲区的字节数。 语法 object.InBufferSize[ = value ] InBufferSize 属性语法包括下列部分: 部分 描述 object 对象表达式,其值是“应用于”列表中的对象。 value 整型表达式,说明接收缓冲区的字节数。 说明 InBufferSize 是指整个接收缓冲区的大小。缺省值是 1024 字节。不要将该属性与 InBufferCount 属性混淆,InBufferCount 属性返回的是当前在接收缓冲区中等待的字符数。 注意 接收缓冲区越大则应用程序可用内存越小。但若接受缓冲区太小,若不使用握手协议, 就可能有溢出的危险。一般的规律是,首先设置一个 1024 字节的缓冲区。如果出现溢出错误,则通过增加缓冲区的大小来控制应用程序的传输速率 数据类型 Integer
一笑拔剑 2016-01-13
  • 打赏
  • 举报
回复
将MSComm的Inputlen属性设为0.表示一次读取整个缓冲区 读取后会清除缓存.

863

社区成员

发帖
与我相关
我的任务
社区描述
VB COM/DCOM/COM+
c++ 技术论坛(原bbs)
社区管理员
  • COM/DCOM/COM+社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧