以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  串口接受数据错误!请问谁知道怎么回事啊!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=68327)

--  作者:lhpc120
--  发布时间:2015/5/14 21:02:00
--  串口接受数据错误!请问谁知道怎么回事啊!
往串口写入数据0221274042440a03,在串口调试工具返回0221274042440A030221402333390A24330A03 是正确的!

在狐表里面返回的确实0221274042440a03!


说明:在命令窗口执行:

Ports("COM3").Write("0221274042440a03")

在DataReceived事件代码为:
Forms("窗口1").Controls("TextBox1").Value = e.Port.ReadExisting()


结果:返回为0221274042440a03

为什么总是返回写入的内容呢?

请高手指点!!

--  作者:大红袍
--  发布时间:2015/5/14 21:06:00
--  

1、在事件那里加入msgbox,看触发了多少次。

 

 或者直接写代码 Forms("窗口1").Controls("TextBox1").Text &= e.Port.ReadExisting()

 

2、尝试用字节收发

 

http://www.foxtable.com/help/topics/1979.htm

 

 

 


--  作者:lhpc120
--  发布时间:2015/5/14 21:25:00
--  
3次
--  作者:大红袍
--  发布时间:2015/5/14 21:26:00
--  

直接写代码 Forms("窗口1").Controls("TextBox1").Text &= e.Port.ReadExisting()

 

或者弹出每次的 msgbox(e.Port.ReadExisting())


--  作者:lhpc120
--  发布时间:2015/5/14 21:30:00
--  
但是不应该返回我写入的数据啊,应该返回设备返回的值才对啊,在串口调试软件上返回正确,但是在狐表返回就是始终返回写入的数据
--  作者:lhpc120
--  发布时间:2015/5/14 21:31:00
--  
我写入的0221274042440a03

应该返回 02 21 27 40 42 44 0A 03 02 21 40 23 33 39 0A 24 33 0A 03 

不知道为什么,还是返回0221274042440a03

求解答~

--  作者:lhpc120
--  发布时间:2015/5/14 21:37:00
--  
没人指点吗?
--  作者:大红袍
--  发布时间:2015/5/14 21:40:00
--  
 无语,叫你看4楼啊
--  作者:大红袍
--  发布时间:2015/5/14 21:40:00
--  

2楼、4楼,你瞎么?


--  作者:lhpc120
--  发布时间:2015/5/14 22:43:00
--  
已经测试过了,按照2楼和4楼的写法,还是只返回写入的值!