大神们解答下usart串口收到(01 12 23 34 45 56)6位字符,如何解析第5位(底8位)和第6位(高8位)字符,解析出值

2019-07-21 06:31发布

本帖最后由 天奇 于 2018-12-20 18:35 编辑


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
不存在的时间
1楼-- · 2019-07-21 08:21
本帖最后由 不存在的时间 于 2018-12-20 23:54 编辑

你这个是ASCII码还是HEX值

你的意思是将ASCII码23转换为HEX值0x23吗?
天奇
2楼-- · 2019-07-21 10:54
本帖最后由 天奇 于 2018-12-21 12:53 编辑

字符为0x01 等,提取5、6字符进行解析成10进制,再输出给串口,其他不显示。
天奇
3楼-- · 2019-07-21 13:28
本帖最后由 天奇 于 2018-12-21 13:10 编辑

设置输入为16进制在串口助手例如:01 12 23 34 45 56  ,则串口返回值位应为十进制  22085
douxiaolingyun
4楼-- · 2019-07-21 15:35
很简单啊,如果你的数据是固定的那按套路来,先接收6个数据,如果你的数据头固定是0x01的话那就作为条件加上去,然后接收完数据后放到别的数组或者指针buf,然后记得马上就清空接收数组,之后就是得到的数据解析,将数组或指针buf的数据的buf[4]、buf[5],就可以直接取出来可以用printf()函数直接变成10进制的了

一周热门 更多>