串口接收多位数据(超过100位),有没有什么好的方法处理,求各路大神,指点一二

2019-07-21 06:44发布

本帖最后由 YST 于 2018-12-14 16:23 编辑

不废话就是接收这样的数据,ASCLL发送,16进制解释。
(:01822600720CE10CE20CE20CE2000000000000000000000000000000000000000000000000000000053B430000F000000000000100020062~)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
likunxue
1楼-- · 2019-07-21 11:11
 精彩回答 2  元偷偷看……
nashui_sx
2楼-- · 2019-07-21 13:31
本帖最后由 nashui_sx 于 2018-12-14 18:13 编辑

sscanf你值得拥有
u32 num1,num2,num3,num4;
sscanf("01822600720CE10CE20CE20C.....","%4x%4x%4x%4x",&num1,&num2,&num3,&num4);
printf("%x %x  %x  %x ",num1,num2,num3,num4);
%4x可以按数据意义自己定长度


YST
3楼-- · 2019-07-21 19:20
nashui_sx 发表于 2018-12-14 17:58
sscanf你值得拥有
u32 num1,num2,num3,num4;
sscanf("01822600720CE10CE20CE20C.....","%4x%4x%4x%4x" ...

这种操作,恐怕不行。我是中断接收这一组数据的,不是发出,发出也不能用printf发呀。这窜数据里包含了很多我需要接收后处理的信息,其实我想问的是,中断函数有没有比较理想的接收这组完整数据的处理办法。
Acuity
4楼-- · 2019-07-22 00:18
中断->FIFO->主函数读FIFO->解析。再多的数据都不怕
nashui_sx
5楼-- · 2019-07-22 04:44
YST 发表于 2018-12-15 00:19
这种操作,恐怕不行。我是中断接收这一组数据的,不是发出,发出也不能用printf发呀。这窜数据里包含了很 ...

首先我发的代码你估计没看懂,其次接收是一回事 解析是一回事,搞定接收在说解析
我发的只是解析16进制字符串

一周热门 更多>