单片机字符串怎么提取你需要的数据
小弟刚接触单片机,最近碰到了一个问题,当上位机用串口发送一组数据过来,我怎么在这组数据中提取我要的数据,打个简单的比方上位机发送数据01FF,我怎么才能把FF提取出来,或...
小弟刚接触单片机,最近碰到了一个问题,当上位机用串口发送一组数据过来,我怎么在这组数据中提取我要的数据,打个简单的比方 上位机发送 数据01FF,我怎么才能把FF提取出来,或者只把01提取出来,希望大家指点一下,有类似程序的更好
展开
3个回答
展开全部
如果01恰好是一个字节,FF恰好是一个字节,将数据存储到数组中,确定偏移量直接读取啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按位进行与或者位移运算
0x01FF&0xFF=0xFF
0x01FF>>8=0x01
0x01FF&0xFF=0xFF
0x01FF>>8=0x01
更多追问追答
追问
你好,我这里01FF是打个比方,而且我也不知道发过来的数据是什么,你第一中肯定是不行的,你第二种0X01FF为什么是移8位,0000 0001 1111 1111 右移8位 变成了0000 0001 是这个意思,那比如我接收到 010620000001这种的是不是也可以采取这样的方法呢??
追答
按位与0xFF的结果为原来的最后8位,按位与0x0F的结果为原来的最后4位,这个是按位与
右移8位是舍去原来的最后8位
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是简单的移位运算就能够解决
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询