【ESP32日记001】慎用 while (Serial.available()) ,一个坑导致debug用了一天时间

先贴上正确运行的代码:

//消息解析,用于解析信息数据,拆分为关键字、长度,参数(即消息体)
void parseCommand(char *str, TLV_Data *cmd)
{
    char *token = strtok(str, ",");
    if (token != NULL) {
        //strcpy(cmd->command, token);   //拆分命令字   
        cmd->command = token;   //拆分命令字   
        token = strtok(NULL, ",");
        if (token != NULL) {
            cmd->number = atoi(token);     //字符串转为整数值  
            token = strtok(NULL, "\n");
            if (token != NULL) {
                cmd->parameter = token;
            }else
            {
                strcpy(cmd->parameter, "");   //清除字符串
            }
            
        }else
        {
            cmd->number = 0;  //报错
        }
        
    }else{
        strcpy(cmd->command, "");     //清除字符串
        cmd->number = 0;           //报错
        strcpy(cmd->parameter, "&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值