大学生
最后登录1970-1-1
在线时间 小时
注册时间2018-6-1
|
static void analy_data(char *str){
char tempStr[10];
char temp;
strncpy(tempStr, str, 6);
if(strcmp(tempStr, "AT+DIS") == 0){//显示所有参数
rt_kprintf("----相关配置信息----\n");
rt_kprintf("time : %d\n",led_time);
rt_kprintf("mode : %d\n",key_flag);
rt_kprintf("color: %c\n",led_color);
}
else if(strcmp(tempStr, "AT+COL") == 0){//改颜色
led_color = str[7];
}
else if(strcmp(tempStr, "AT+TIM") == 0){//改闪烁频率
strncpy(tempStr,str + 7, 4);
sscanf(tempStr,"%4d",&led_time);
}
else if(strcmp(tempStr, "AT+KEY") == 0){
temp = str[7];
if(temp == '1'){
key_flag = KEY1_EVENT;
}
if(temp == '2')
key_flag = KEY2_EVENT;//改频率
}
else{
rt_kprintf("解包失败 %s\n",str);
}
}
代码如上:
一开始我设置的是tempStr[7];
然后接到数据后显示解包失败
然后改成10就可以了
请各位大佬能否解释一下呢???
|
|