以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]串口传输问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=71915)

--  作者:foxtable-pc
--  发布时间:2015/7/20 15:30:00
--  [求助]串口传输问题
串口数据传输:
发送端 发送                       第一次打开foxtable后   接收正确
修改发送端数据                                                  接收数据不变   
怎么解决





--  作者:大红袍
--  发布时间:2015/7/20 15:30:00
--  
 上传例子
--  作者:foxtable-pc
--  发布时间:2015/7/20 15:34:00
--  
我用的是帮助里面的例程  
只是改变了传输波特率38400

+显示函数

--  作者:大红袍
--  发布时间:2015/7/20 15:34:00
--  
 测试工具+测试例子发上来
--  作者:foxtable-pc
--  发布时间:2015/7/20 15:40:00
--  
Dim cnt As Integer = Ports("COM1").BytesToRead
If cnt > 0 Then \'缓冲区是否有数据
    Dim Val(cnt - 1) As Byte
    Ports("COM1").Read(sj,0,30)
End If

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


sj是全局代码 是个数组  


测试工具 2台计算机+232传输线   另一台计算机使用串口助手发送  

--  作者:foxtable-pc
--  发布时间:2015/7/20 15:41:00
--  
ReadBufferSize() = 4096
--  作者:大红袍
--  发布时间:2015/7/20 15:41:00
--  
以下是引用大红袍在2015/7/20 15:34:00的发言:
 测试工具+测试例子发上来


--  作者:大红袍
--  发布时间:2015/7/20 15:44:00
--  
Dim cnt As Integer = Ports("COM1").BytesToRead
If cnt > 0 Then \'缓冲区是否有数据
    Dim Val(cnt - 1) As Byte
    Ports("COM1").Read(val,0,cnt)
    Msgbox(cnt)
End If

--  作者:foxtable-pc
--  发布时间:2015/7/20 15:44:00
--  
开发过程中 发送没有问题
 
我把接收程序提取出来

--  作者:大红袍
--  发布时间:2015/7/20 15:47:00
--  
 
Dim cnt As Integer = Ports("COM1").BytesToRead
If cnt > 0 Then \'缓冲区是否有数据
    Dim Val(cnt - 1) As Byte
    Ports("COM1").Read(val,0,cnt)
    Msgbox(cnt)
End If