C#上位机解析下位机传上来的数据

tml879331021 2016-05-06 10:30:47

求帮忙啊!!!
协议数据格式:
起始(1b)+设备地址(1b)+功能代码(1b)+数据(nb) +结束(1b) + CRC校验(2b)

下位机传上来的数据是:AA 51 50 00 08 55 33 22

一个板子30个点,每个点 可以点亮一个灯或者灯带,干簧管触发了下位机会给我一串上面的代码,我要根据这个代码去发送点亮这个触发点的灯;
同事是写C的给我说了下大概的是说:把数据转成二进制来判断是哪个口触发了,但是我该怎么解析啊....今天第一次做上位机...水好深啊。。
...全文
556 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2016-05-06
  • 打赏
  • 举报
回复
二进制位运算,要看某一位是0还是1,比如第三位,可以这样 if (你的数据 & (1 << 3) == 0) 这一位是0
tml879331021 2016-05-06
  • 打赏
  • 举报
回复
你好,他传上来的数据并不是死的,我要如何去解析呢,我现在到判断CRC16校验是否相同的那一步了,接下来怎么拿到他的数据到底是哪些口需要点亮。。
wizzly 2016-05-06
  • 打赏
  • 举报
回复
有用的数据就是00 08,总共32位,对应byte[3],[4], 取3的第0位 int led0=byte[3]&1; 取3的第1位 定义int led1=(byte[3]>>1)&1;

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧