Foxtable(狐表)用户栏目专家坐堂 → 串口接收错误


  共有3170人关注过本帖树形打印复制链接

主题:串口接收错误

帅哥哟,离线,有人找我吗?
dtcuiwww
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:24 积分:406 威望:0 精华:0 注册:2013/2/22 14:52:00
串口接收错误  发帖心情 Post By:2015/7/18 11:31:00 [显示全部帖子]

 

下面是DataReceived事件的代码


 

Dim cnt As Integer = Ports("COM1").BytesToRead

If cnt > 0 Then '缓冲区是否有数据
        Ports("COM1").Read(sj,0,cnt)
End If

Vars("bz") = 1 + Vars("bz")
Vars("len") = cnt


 

这是初始化代码

Ports.Add("COM1")
With Ports("COM1")
    .Close()
    .Parity = Parity.None
    .Handshake = Handshake.None
    .StopBits = StopBits.One
    .BaudRate = 38400
    .DataBits = 8
    .ReadBufferSize() = 4096
    .WriteBufferSize() = 2048
    .Open
End With


 

sj(0 to 127) 在全局BYTE的数组变量


 

我测试了一下,当接收的字节大于8个就出问题了,例如接收22个字节,cnt为6,而不是22,

cnt = 6 好像是 22 - 2*8 得到的 也就是串口接收只能接收小于8个字节的字节流,请问如何解决。


 


 回到顶部
帅哥哟,离线,有人找我吗?
dtcuiwww
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:24 积分:406 威望:0 精华:0 注册:2013/2/22 14:52:00
  发帖心情 Post By:2015/7/18 15:03:00 [显示全部帖子]

我用的是win7系统,是不是和系统有关,别的程序没有,只有这点串口程序,使了好多次了,现在到第12个数据后都是0


 回到顶部
帅哥哟,离线,有人找我吗?
dtcuiwww
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:24 积分:406 威望:0 精华:0 注册:2013/2/22 14:52:00
  发帖心情 Post By:2015/7/18 15:57:00 [显示全部帖子]

重新运行foxtable后第一次接收数据正确,以后就不行了。


 回到顶部