请教用VB.NET向串口发送16进制的数的方法应该是你的转换格式不正确,下面代码就是将文本框中以一个空格隔开的十六进制转为字节的代码,文本框中数字格式为:01 02 03
Dim TestArray() As String = Split(TextBox1.Text)
Dim hexBytes() As Byte
ReDim hexBytes(TestArray.Length - 1)
Dim i As Integer
For i = 0 To TestArray.Length - 1
hexBytes(i) = Val("h"TestArray(i))
Next
SerialPort.Write(hexBytes, 0, hexBytes.Length)
如果有问题可以再联系 。
VB与VB.NET串口及以太网通迅关于串口通讯的问题:
很明显vb.net串口数据类型 , 你还不知道(不会、不习惯)使用事件驱动的方式接收数据 。
建议你仔细看看串口组件(无论VB6还是VB.net)的OnComm事件vb.net串口数据类型,你的问题很容易解决 。
关于以太网通讯:
在TCP通讯中端口确实可以重用vb.net串口数据类型,你百度一下“TCP端口重用”能查到很多示例 。
但绝大多数情况下不推荐端口重用vb.net串口数据类型,而应该采取服务器端建立连接池的方法 。
或者,干脆不用TCP,用UDP解决也可以 。
VB.NET接收串口数据问题不知道你是不是用51单片机往串口发数据,是的话那是因为51的SBUF最多存放8个字节,所以你发12个字节会分成两次发完 。还有在接收的时候最好定义好通信协议,比如加一个侦头,一个侦尾,通过这两个字节的内容来接收数据 。
老兄 , 提问还是给点悬赏分嘛,不要吝啬哪点分,知识是无价的,你给得越多,回答你的人才会越多 。
属于vb.net基本数据类型名称有哪些?基本数据类型是由系统定义vb.net串口数据类型的数据类型vb.net串口数据类型,包括数值数据类型、字节型、逻辑型、日期型、字符型、字符串类型和对象类型
vb.net2010十六进制读取串口的问题不是很明白你的题意
strHex = strHex[String].Format("{0:X2} "
这里的意思是把每个字节数据转换成了十六进制,每个字节占两个字符
如果你串口收到的4个字节数据:43,27,56,200
那么你的结果是:2B1B38C8
即receivebytes.Text="2B1B38C8"
不足两位的补0
如果你串口收到的4个字节数据:3,27,56,200
那么你的结果是:031B38C8
即receivebytes.Text="031B38C8"
我想知道在vb.net里怎么实现自定义数据类型,就是实现C中TypeDef一样的功能“结构”是 Visual Basic 早期版本支持的用户定义类型 (UDT) 的一般化 。除字段外 , 结构还可以公开属性、方法和事件 。结构可以实现一个或多个接口,而您可以分别为每个字段声明访问级别 。
可以合并不同类型的数据项来创建结构 。结构将一个或多个“元素”彼此关联并且将它们与结构本身关联 。声明了结构后,它将成为“复合数据类型”,而您可以声明该类型的变量 。
想让单个变量持有几个相关信息时结构很有用 。例如 , 您可能想将一个雇员的姓名、电话分机号和薪金放在一起 。可以对这些信息使用几个变量,或者可以定义一个结构并将它用于单个雇员变量 。当有许多雇员并且因此有该变量的许多实例时,结构的优点变得非常明显 。
使用 Structure 语句语句作为结构声明的开始 , 并使用 EndStructure 语句作为结构声明的结束 。在这两条语句之间必须至少声明一个“元素” 。元素可以是任何数据类型,但是至少一个必须是非共享变量,或是非共享非自定义事件 。
不能在结构声明中初始化任何结构元素 。如果将一个变量声明为结构类型,则可以通过变量访问元素来给它们赋值 。
声明一个结构:
可以使用 Public、Protected、Friend或Private关键字指定结构的访问级别 , 或者使用默认值 Public 。如:
Private Structure employee
End Structure
向结构体添加元素:
结构必须具有至少一个元素 。必须声明结构的每个元素并指定其访问级别 。如果使用不含任何关键字的 Dim 语句 (Visual Basic) , 则可访问性默认值为 Public 。如:
Private Structure employee
Public givenName As String
Public familyName As String
Public phoneExtension As Long
Private salary As Decimal
Public Sub giveRaise(raise As Double)
salary *= raise
End Sub
Public Event salaryReviewTime()
End Structure
---------------------------
另外 , 关于你的问题,请参考下面C/C对自定义类型的比较:
1、在C中,不需使用typedef
struct Structure1 {
char c;
int i;
float f;
double d;
};
int main() {
struct Structure1 s1, s2;
s1.c = 'a'; // Select an element using a '.'
s1.i = 1;
s1.f = 3.14;
s1.d = 0.00093;
s2.c = 'a';
s2.i = 1;
s2.f = 3.14;
s2.d = 0.00093;
}
2、在C中,需用typedef定义
typedef struct {
char c;
int i;
float f;
double d;
} Structure2;
int main() {
Structure2 s1, s2;
s1.c = 'a';
s1.i = 1;
s1.f = 3.14;
s1.d = 0.00093;
s2.c = 'a';
s2.i = 1;
s2.f = 3.14;
s2.d = 0.00093;
}
【vb.net串口数据类型 vbnet串口通讯】关于vb.net串口数据类型和vbnet串口通讯的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 还有时间看电视英语怎么写,还在看电视吗英文翻译
- C语言核心代码解读,c语言核心是什么
- python爬虫可视化毕设项目的简单介绍
- 使用sqlserver2000,使用sqlserver建立数据表
- oracle字段怎么设置 oracle 字段
- python爬虫博客园图片,如何运用python爬图片
- 虚拟机连不上主机USB,虚拟机连不上主机网怎么解决
- c语言余弦函数 c语言二维数组
- mysql储存数据方式,mysql 存储数据