C语音实现如何判断串口接收下面字符串接收完成,{ "eui64": "FKKJ999001864452063147654", "ch": "1", "ctr_valve": { "targetP": 60 } }
时间: 2023-12-03 13:40:58 浏览: 21
在C语言中,可以通过循环读取串口接收到的字符,将其存储到一个字符数组中,直到读取到字符串结束符'\0'为止,即可判断接收完成。具体实现代码如下所示:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
int i = 0;
char c;
// 循环读取串口接收到的字符
while ((c = getchar()) != '\n') {
str[i++] = c;
if (i == MAX_LEN - 1) {
break;
}
}
str[i] = '\0'; // 添加字符串结束符
// 判断是否接收完成
if (strstr(str, "\"eui64\":") != NULL && strstr(str, "\"ch\":") != NULL && strstr(str, "\"ctr_valve\":") != NULL) {
printf("接收完成\n");
} else {
printf("