c# serial port 发送和接收的信息分类问题 140
具体的程序在我的另外两个提问里面,篇幅原因这里就不写出来了。链接如下:http://zhidao.baidu.com/question/18305937000891085...
具体的程序在我的另外两个提问里面,篇幅原因这里就不写出来了。链接如下:http://zhidao.baidu.com/question/1830593700089108540.html?quesup2&oldq=1 和 http://zhidao.baidu.com/question/1988616842675520027.html?quesup2&oldq=1 现在有问题的就是里面的那个“instruction”,是一个1byte的数据。要做的效果就是:比如说instruction我发1,就代表我接下来的data是坐标,接收端就会按照一个预存的坐标的格式去显示。比如说我发2,代表是温度,3是电压,都会有相关的格式去显示。 请问发送和接收端的代码要怎么写?谢谢!
展开
1个回答
展开全部
一般串口编程发送的都是处理过的数据,不会原值发送的。
军用的一般EB 90 报头 校验位报尾,规定信息长度,每一位代表的意义。
EB 90 01 坐标 报尾
EB 90 02 温度 报尾
EB 90 03 电压 报尾
发送端编码
接收端解码就行了
军用的一般EB 90 报头 校验位报尾,规定信息长度,每一位代表的意义。
EB 90 01 坐标 报尾
EB 90 02 温度 报尾
EB 90 03 电压 报尾
发送端编码
接收端解码就行了
更多追问追答
追问
就是编码不会啊。怎么能让接收端收到1,就按照1预存的格式显示,收到2就按照2预存的格式显示?
追答
检测接受端口收到连续的EB 90 就解析后面的报文,第一个char是显示格式,后面的看你怎么编了,实在不行你就发ASCII码过去不就行了 。
string strTest = "-3.12345E 3.456E11";
比如你发这个就是
报头 模式 - 3 . 1 ........ E 1 1 校验
EB 90 01 2D 35 2E 33 ....... 45 33 33 自己弄个校验方式
这样你每种模式的数据报长度应该是固定的解码的时候检测到报头和模式 直接调用对应的函数解码就行了(串口一个char256 接受的是十六进制的别忘了转换)
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询