首页

文章

vb 如何把串口通信接收到的byte转换成数值

发布网友 发布时间:2022-04-19 15:15

我来回答

4个回答

热心网友 时间:2023-08-28 13:38

淡定!IT界的先生们...
我理解您的问题是:想把接收到的二进制数转换为数值型(整数或小数)... 所以我认为在处理接收到的字节型数据时应该如下:
1、要知道接收到的字节数据,在什么位置分段。也就是说,当对方在不断的发数据时候,整个发送数据流是连续不断的,要明确所发数据流的结构。
如:
"S0025N567" 这样的字符串发送过来,双方已经约定好了,见到"S"表示序号,后面的四位数据就是序号的值,见到"N"就是表示其测量的数值。这样就好办了,在接收数据的时候,虽然收到的是一串二进制数,但通过其约定的特殊字符就能拆分需要的数据了。

2、明确了双方的数据结构,在数据处理中就是处理方法的问题,应该没什么难处理的了。
(1)、16进制的字节转换成整数
Val(&Hxx) xx 表示16进制的字符型数据

所以你的 tmp = a(0) 出现错误正常.
这样写就正确了: tmp=val(chr(a(0))
如果a()表示的整个数字,应该写成:
tmp=Val(chr(a(0))+chr(a(1))+chr(a(3))+chr(a(4))+...)
这里需要你用 UBound(a) 来判断a() 的长度,确定到底加到那里,这里面已经包括出现小数的情况 .

(2)、 在利用OnComm事件进行接收数据时,注意保存中间数据。
虽然你的RThreshold参数设为1,由于电脑缓存及多任务的原因,接收的字符会出现不连续的可能,如:当前的OnComm() 事件中接收的是“S0025N5”,在下一个OnComm事件接收到的是"67",这些需要在程序中做处理.

希望我的思路能帮到你。有问题可以继续讨论...

热心网友 时间:2023-08-28 13:39

晕死了~ 收到的不就是一串Byte嘛,全都是0-255的数值。不用转。

你是不是自己想迷糊了?不管是几进制,1就是1,2就是2。
有两个苹果,10进制是2个,2进制是10个,但它不就是俩苹果嘛!
虽然表示方法不同,“一共俩苹果”是不变的。
同样一个Byte的2和一个Integer的2也是一样的, 没有任何区别。

热心网友 时间:2023-08-28 13:39

Private Sub MSComm1_OnComm()
Dim dd() As Byte, i%
Dim iTime As Double

Select Case MSComm1.CommEvent
Case comEvReceive ' 收到 RThreshold # ofchars.

i% = MSComm1.InBufferCount
ReDim dd(i% + 1)
dd = MSComm1.Input
Call RecvBufAdd(dd, i%) '处理接收串口数据
end select

热心网友 时间:2023-08-28 13:40

串口是什么,端口吗
变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 带“不虑”的诗句 “鲁肃当年万人守”的出处是哪里 无尘防尘棚 进出口报关流程,越详细越好。谢谢大家指教。 双线桥不是看化合价升多少就标多少的吗?为什么CL2+2KI=2KCL+I2中I失... 出师表高锰酸钾有画面了吗 2021年幼儿园新学期致家长一封信 电脑屏幕一条黑线怎么办? 销售代理商销售代理商的特点 商业代理商业代理的特征 如何看微信有没有开通微众银行 为什么微众没有开户 微众银行怎么开户 微众银行APP开户流程是什么? 唐古拉山海拔唐古拉山海拔是多少 怎么看待取消跳广场舞的人的退休金 如何选购新鲜的蓝田水柿? byte类型怎么转成byte数组 一个字节等于多少二进制数? 厕所被鱼渣子堵了怎么疏通 我家厕所是由于一条一斤左右的鲫鱼给蹲便器下水道... 鱼掉进厕所怎么办? 鱼掉厕所把马桶堵了,怎么办 鱼堵厕所下水道了,什么腐化的快 蹲式马桶掉进一条鱼堵了怎么办? 有什么办法让堵在下水道的鱼尽快腐烂掉 鱼堵厕所了如何快速腐烂 马桶被鱼堵住了怎么办? 马桶被鱼堵住了,如何让鱼腐烂 半斤多的鲫鱼掉进蹲便器堵住了怎么才能把鱼整出来... 鱼掉入蹲便器,堵了,用什么可以把鱼立马烂掉冲走 华为手机怎么校准电池? 家里马桶被死鱼堵上了,怎么办啊,急死了!! 鱼快速腐烂的方法:死鱼扔马桶里把马桶堵住了怎么办 鱼堵厕所了如何快速腐烂? CAD2007里创建块的快捷键是什么 CAD 中怎样添加快捷工具栏 C#中怎样把byte数组转换成数字 如何把一个byte数组的数字转换成int C#如何把BYTE数组中的数转换成16进制 字节、kb、mb等单位,是怎样换算的? 如何将byte数组转换成浮点数? byte与int的转换 java中如何将byte[]里面的数据转换成十六进制 java中如何将byte[]里面的数据转换成十六进制? 如何将byte转为十进制字符串 c#怎样将byte转为十六进制 一个byte[8]数组转成数字最大能表示多大的数 java 如何将byte[4]数组转换成一个int型数据? BYTE数据怎么转化成二进制字符串 java里面byte数组和String字符串怎么转换 求方法.怎么把byte类型的数组转换成NS 华为手机怎么校准电池 华为手机电池指示不准怎么办 吃什么食物会产生兴奋 吃什么东西会让人兴奋,精神好啊? 吃什么能兴奋增加爆发力?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com