Foxtable(狐表)用户栏目专家坐堂 → [求助]求一段串口代码


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

主题:[求助]求一段串口代码

帅哥哟,离线,有人找我吗?
谢天钰
  11楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:211 积分:3044 威望:0 精华:0 注册:2012/4/13 12:44:00
回复:(有点色)1、设置好端口的握手协议 h...  发帖心情 Post By:2017/6/22 19:25:00 [只看该作者]

我现在有点晕,不知道应该怎么做回复,是回复字节还是字符?
设置的编码是ASCII

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/22 19:39:00 [只看该作者]

这样写代码,看弹出什么回复什么。

 

select case e.port.portname

     case "com3"
         msgbox(e.Port.ReadExisting())
         dim val() as byte = new byte() {6}
         ports("com3").write(val,0,val.length)
         'dim val() as byte = new byte() {15}
         'ports("com3").write(val,0,val.length)
end select

 回到顶部
帅哥哟,离线,有人找我吗?
谢天钰
  13楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:211 积分:3044 威望:0 精华:0 注册:2012/4/13 12:44:00
回复:(有点色)这样写代码,看弹出什么回复什么。...  发帖心情 Post By:2017/6/22 19:49:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20170622194657.png
图片点击可在新窗口打开查看


这是什么情况?

 回到顶部
帅哥哟,离线,有人找我吗?
谢天钰
  14楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:211 积分:3044 威望:0 精华:0 注册:2012/4/13 12:44:00
回复:(有点色)这样写代码,看弹出什么回复什么。...  发帖心情 Post By:2017/6/22 19:53:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20170622194716.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/23 0:20:00 [只看该作者]

14楼的错误,是你com3没有写对,你开启的窗口名是什么?

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
谢天钰
  16楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:211 积分:3044 威望:0 精华:0 注册:2012/4/13 12:44:00
回复:(有点色)14楼的错误,是你com3没有写对,你开...  发帖心情 Post By:2017/6/23 8:32:00 [只看该作者]

那个错误后来纠正了!现在已经接到数据了,但是接的不全,中间就停了,然后设备报错!我想是不是应该按照接收的字节回复,还有一个数据传输结束的回复,只要这两个回复做好就没问题了!
能不能这么写
接收的数据能不能是两种形式,一种是字节,一种是字符?那我就根据字节设置回复,然后再用字符合成就行了,不知道这种方法能成不?
[此贴子已经被作者于2017/6/23 8:51:26编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
谢天钰
  17楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:211 积分:3044 威望:0 精华:0 注册:2012/4/13 12:44:00
回复:(有点色)14楼的错误,是你com3没有写对,你开...  发帖心情 Post By:2017/6/23 9:06:00 [只看该作者]

代码写成了,谢谢老师的悉心教导~!~!

Select Case e.port.portname
    Case "COM5"
        Dim cnt As Integer = Ports("COM5").BytesToRead
        If cnt = 1 Then '缓冲区是否有数据
            Dim v As Byte = Ports("COM5").ReadByte
            If v = 16 OrElse v = 15 Then
                Dim val() As Byte = new Byte() {06}
                ports("COM5").write(val,0,val.length)
            End If
        End If
        Dim zf As String = e.Port.ReadExisting()
        Dim jswb As WinForm.TextBox = Forms("虚拟串口驱动").Controls("接收文本")
        jswb.Text = jswb.Text & zf
End Select

 回到顶部
帅哥,在线噢!
有点蓝
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106552 积分:541925 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/23 9:07:00 [只看该作者]

可以的。根据编码类型把字节转换为字符即可

 回到顶部
总数 18 上一页 1 2