以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]串口读取数据问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=108965) |
||||
-- 作者:YDS -- 发布时间:2017/11/1 15:17:00 -- [求助]串口读取数据问题
这是通讯协议,我现在遇到两个问题,请指导 一. 二.建立通讯以后,我从控制器里面用ReadExisting命令读取的值都有问题,用Read(buffer,
offset, count)命令读取出来的值也不对,请帮帮忙,谢谢!
|
||||
-- 作者:YDS -- 发布时间:2017/11/1 16:13:00 -- 各位大神都这么忙啊 |
||||
-- 作者:有点甜 -- 发布时间:2017/11/1 16:21:00 -- 不能直接用 parity.none 这些值,要对应改成 0、1、2、3 这样
0-None
--------------------StopBits 也是
0-None
|
||||
-- 作者:有点甜 -- 发布时间:2017/11/1 16:24:00 -- 你在DataReceived事件,把接收到的信息都打印出来,看是否正确
Dim cnt As Integer = e.Port.BytesToRead |
||||
-- 作者:YDS -- 发布时间:2017/11/1 17:11:00 -- 一.为什么这里就可以呢? 提示: 1、如果串口已经打开,则不能设置其属性,必须先关闭。 示例 Ports.Add("COM2") |
||||
-- 作者:有点甜 -- 发布时间:2017/11/1 17:44:00 -- 1、不一样的,字符串你不能直接当代码用的;
2、不应该,认真对比测试一下,肯定能正常读取到值的 |
||||
-- 作者:YDS -- 发布时间:2017/11/2 7:54:00 -- 我再试试,还有就是怎么能把Ports.PortNames获得的串口名称设置为forms("主窗口").Controls("ck").ComboList |
||||
-- 作者:YDS -- 发布时间:2017/11/2 8:11:00 -- .ReadBufferSize() = 4096 .WriteBufferSize() = 2048 还有就是这两个属性的具体用法在那里可以查找到
|
||||
-- 作者:有点甜 -- 发布时间:2017/11/2 8:38:00 -- 以下是引用YDS在2017/11/2 7:54:00的发言:
我再试试,还有就是怎么能把Ports.PortNames获得的串口名称设置为forms("主窗口").Controls("ck").ComboList
For Each p As String In Ports.PortNames |
||||
-- 作者:有点甜 -- 发布时间:2017/11/2 8:40:00 -- 以下是引用YDS在2017/11/2 8:11:00的发言:
.ReadBufferSize() = 4096 .WriteBufferSize() = 2048 还有就是这两个属性的具体用法在那里可以查找到
这两个的设置基本不影响,这两个是缓冲的大小值,基本都不会超出的。 |