Foxtable(狐表)用户栏目专家坐堂 → 关于232串口


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

主题:关于232串口

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


加好友 发短信
等级:四尾狐 帖子:823 积分:6296 威望:0 精华:0 注册:2016/7/8 18:58:00
关于232串口  发帖心情 Post By:2018/4/26 12:03:00 [只看该作者]

关于232串口,怎么处理呢?

 

 协议说明


图片点击可在新窗口打开查看此主题相关图片如下:阿里旺旺图片20180426111123.jpg
图片点击可在新窗口打开查看

 

输出字节

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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/26 13:18:00 [只看该作者]

10进制转16进制,参考 http://www.foxtable.com/webhelp/scr/1622.htm

 

255是数据的开始,其余的各个是数值。根据得到的值,做你对应的操作


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


加好友 发短信
等级:四尾狐 帖子:823 积分:6296 威望:0 精华:0 注册:2016/7/8 18:58:00
  发帖心情 Post By:2018/4/26 15:41:00 [只看该作者]

怎么找到循环呀,在读取串口里面,字节是连续的

要自己判断吗

[此贴子已经被作者于2018/4/26 15:41:46编辑过]

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


加好友 发短信
等级:四尾狐 帖子:823 积分:6296 威望:0 精华:0 注册:2016/7/8 18:58:00
  发帖心情 Post By:2018/4/26 15:50:00 [只看该作者]

每次发生6帧,串口读取一次吗,转换为字节后怎么对应呀

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/26 15:51:00 [只看该作者]

以下是引用yjf123在2018/4/26 15:41:00的发言:

怎么找到循环呀,在读取串口里面,字节是连续的

要自己判断吗

[此贴子已经被作者于2018/4/26 15:41:46编辑过]

 

自己判断,比如

 

Dim cnt As Integer = Ports("COM2").BytesToRead
If cnt > 0 Then '缓冲区是否有数据
    Dim Val(cnt - 1) As Byte
    Ports("COM2").Read(val,0,cnt)
    For i As Integer = 0 To cnt
        If val(i) = 255 Then
            msgbox(123)
            msgbox(val(i+1))
            i += 5
        End If
    Next
End If


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


加好友 发短信
等级:四尾狐 帖子:823 积分:6296 威望:0 精华:0 注册:2016/7/8 18:58:00
  发帖心情 Post By:2018/4/26 16:18:00 [只看该作者]

但是我要在直接读取的,不是后面读取缓存的,这样会出错的

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/26 16:23:00 [只看该作者]

那就写到事件去

 

http://www.foxtable.com/webhelp/scr/1967.htm

 


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


加好友 发短信
等级:四尾狐 帖子:823 积分:6296 威望:0 精华:0 注册:2016/7/8 18:58:00
  发帖心情 Post By:2018/4/26 16:31:00 [只看该作者]

就是写到事件里面去出错了

 

If cnt > 0 Then '缓冲区是否有数据
    Dim Val(cnt - 1) As Byte
    Ports("COM22").Read(val,0,cnt)
    For i As Integer = 0 To cnt-1
        If val(i) = 255 Then
            'Forms("生产窗口").Controls("数量").text=DecToHex(val(i+1))
Dim s As String =DecToHex(val(i+3)) & "." & DecToHex(val(i+2))
'Forms("生产窗口").Controls("数量").text=DecToHex(val(i+3)) & "." & DecToHex(val(i+2))
            i += 5
        End If
    Next
End If

[此贴子已经被作者于2018/4/26 16:38:33编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/26 16:38:00 [只看该作者]

以下是引用yjf123在2018/4/26 16:31:00的发言:

就是写到事件里面去出错了

 

贴出你写的代码。贴出所报的错误。

[此贴子已经被作者于2018/4/26 16:38:35编辑过]

 回到顶部