Foxtable(狐表)用户栏目专家坐堂 → 请问能否直接读取来自COM口的十进制ASCII码?


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

主题:请问能否直接读取来自COM口的十进制ASCII码?

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


加好友 发短信
等级:三尾狐 帖子:635 积分:6336 威望:0 精华:0 注册:2011/5/8 13:21:00
请问能否直接读取来自COM口的十进制ASCII码?  发帖心情 Post By:2015/6/14 11:17:00 [只看该作者]

来自com口设备的数据是十进制ASCII码,但是通过串口监视器读到的却是明文,也就是利用十进制ASCII码转换后的字符串,请问能否获取不转换的?

因为还要将十进制ASCII转换后再进行计算里面的某些值~

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/14 12:55:00 [只看该作者]

 不是可以读取字节的么?

 

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

 


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


加好友 发短信
等级:三尾狐 帖子:635 积分:6336 威望:0 精华:0 注册:2011/5/8 13:21:00
  发帖心情 Post By:2015/6/14 16:33:00 [只看该作者]

读取的是字节数?

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


加好友 发短信
等级:三尾狐 帖子:635 积分:6336 威望:0 精华:0 注册:2011/5/8 13:21:00
  发帖心情 Post By:2015/6/14 16:35:00 [只看该作者]

Dim cnt As Integer = Ports("COM3").BytesToRead
If cnt > 0 Then '缓冲区是否有数据
    Dim Val(cnt - 1) As Byte
    Ports("COM3").Read(val,0,cnt)
    For i As Integer = 0 To val.Length - 1
        val(i) = Byte.Parse(val(i), System.Globalization.NumberStyles.HexNumber)
    Next
    Dim bstr As String =  val
    e.Form.Controls("TextBox5").value = bstr
End If


小弟比较拙,没明白里面的用法?我想怎么才能把接收到的数据传送到TextBox5控件呢?请明示!

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


加好友 发短信
等级:三尾狐 帖子:635 积分:6336 威望:0 精华:0 注册:2011/5/8 13:21:00
  发帖心情 Post By:2015/6/14 16:41:00 [只看该作者]

也就是说,我录入的是  02 21 26 03
希望返回的也是 02 21 26 23 30 0A 34 31 33 31 36 37 37 39 32 39 24 31 38 33 0A 03 

但是返回的却是明文!也就是
 !&#0
4131677929$183


如果能做到不返回明文而是返回ASCII呢?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/14 16:57:00 [只看该作者]

Dim cnt As Integer = Ports("COM3").BytesToRead
If cnt > 0 Then '缓冲区是否有数据
    Dim Val(cnt - 1) As Byte
    Ports("COM3").Read(val,0,cnt)
    Dim str As String = ""
    For i As Integer = 0 To val.Length - 1
        str &= Byte.Parse(val(i), System.Globalization.NumberStyles.HexNumber) & " "
    Next
    e.Form.Controls("TextBox5").value = str
End If

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


加好友 发短信
等级:三尾狐 帖子:635 积分:6336 威望:0 精华:0 注册:2011/5/8 13:21:00
  发帖心情 Post By:2015/6/14 16:58:00 [只看该作者]

谢谢老师,我测试下

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


加好友 发短信
等级:三尾狐 帖子:635 积分:6336 威望:0 精华:0 注册:2011/5/8 13:21:00
  发帖心情 Post By:2015/6/14 17:05:00 [只看该作者]

老师,跟着问,请问转换十进制的枚举类是什么呢?这个您应该用的C#里面的内容吧?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/14 17:08:00 [只看该作者]

Dim cnt As Integer = Ports("COM3").BytesToRead
If cnt > 0 Then '缓冲区是否有数据
    Dim Val(cnt - 1) As Byte
    Ports("COM3").Read(val,0,cnt)
    Dim str As String = ""
    For i As Integer = 0 To val.Length - 1
        str &= val(i) & " "
    Next
    e.Form.Controls("TextBox5").value = str
End If

 

https://msdn.microsoft.com/zh-cn/library/system.globalization.numberstyles.aspx

 


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


加好友 发短信
等级:三尾狐 帖子:635 积分:6336 威望:0 精华:0 注册:2011/5/8 13:21:00
  发帖心情 Post By:2015/6/14 17:09:00 [只看该作者]

谢谢老师,学习了!

 回到顶部