当前位置:编程学习 > C#/ASP.NET >>

C#上位机,串口通信

    做了一个C#的上位机,需要接受三种数据,比如说是温度、PH值、湿度,用什么方法可以区分发来的数据是什么是属于哪一种数据?然后保存在相应的不同的集合类里面 --------------------编程问答-------------------- 自己设计一个协议。什么方式都可以。你自己定一个分割解析的方式即可。

比如说(开个玩笑)用日语中的数字来代表温度,用英文中的数字来代表湿度。




随便给说几个正规的。比如说http协议规定了一个消息中的不同消息头的表示语法。比如说xml、json等等,也都是可以表达更加复杂的数据结构等等。 --------------------编程问答--------------------
引用 1 楼 sp1234 的回复:
自己设计一个协议。什么方式都可以。你自己定一个分割解析的方式即可。

比如说(开个玩笑)用日语中的数字来代表温度,用英文中的数字来代表湿度。




随便给说几个正规的。比如说http协议规定了一个消息中的不同消息头的表示语法。比如说xml、json等等,也都是可以表达更加复杂的数据结构等等。

+
--------------------编程问答-------------------- 第一个字节代表数据类型:温度、PH、湿度
第二个字节表示数据长度n(以数值范围长度自行调整)
后跟n个字节代表数值
最后加一个校验和验证数据正确 --------------------编程问答-------------------- 这个问题应该先考虑下位机,而不是上位机,没有二楼说的那么复杂。给你个思路,你可以这样。下位机发送的数据分别用三种方式开始,比如当发送#AA,表示开始发送温度的数据,发送#BB,表示开始发送PH的数据,发送#CC,表示开始发送湿度的数据。用这些标志分开,只要上位机收到这个标志后就知道后面接收到的是哪种数据了。 --------------------编程问答-------------------- 用C、C++,C#不是它的强项, --------------------编程问答-------------------- ls注意了 说的是上位机 --------------------编程问答-------------------- 定协议啊 --------------------编程问答-------------------- 看你的设备发数据的协议。 --------------------编程问答-------------------- 我也有这个问题 --------------------编程问答-------------------- --------------------编程问答-------------------- 这跟上位机没什么关系吧,例如下位机发送过来的数据时23.4527.040.32%,如果你自己不知道第几位表示的是什么类型的数据,上位机怎么可能知道呢,C#程序能做的就是将下位机发送过来的数据分割开来,存储到数据库里面去。所以你首先需要了解下位机发送过来的数据格式,才能够对数据进行操作。 --------------------编程问答-------------------- 上下位机通讯,下位机肯定遵循一套设定好的通讯协议,比如常见的Modbus协议。
你只要按照协议解析数据就行。 --------------------编程问答-------------------- 这个不是跟你自己定的通信协议有关么。。。要么你就把这些数据全部放在一起,然后第几个字节放什么数据,到时收数据的时候按位取就是了
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,