单片机/MCU论坛
直播中

卓侨汉

7年用户 989经验值
擅长:MEMS/传感技术
私信 关注
[问答]

单片机收到一串字符,怎么从这一串字符中只提取需要的内容呢?

就是收到TVOC 1438 ppb eCO2 2678 ppm。但是我只需要2678?单片机收到的数据是什么类型的数据?是否需要转换?           

回帖(2)

李桂珍

2023-10-25 15:17:47
你接收到的是一串unsigned char 的字符。
1、如果每次的位置不变可以直接通过位置来取出2678.
2、看你这个应该是什么检测环境的数据,可以相对TVOC和eCO2的位置来取出数据。
3、得到了一个unsigned char的数组之后。
int meatured_value = (USART2_RX_BUF[0]-0x30)*1000+(USART2_RX_BUF[1]-0x30)*100+(USART2_RX_BUF[2]-0x30)*10+(USART2_RX_BUF[3]-0x30);即可
举报

阿信509

2023-10-25 15:34:48
单片机每次收到一个字节,具体是干嘛的要看你的通信协议,你需要哪个由你自己决定
举报

更多回帖

发帖
×
20
完善资料,
赚取积分