AT指令时经常用到 -c语言库函数

1:查找对应的字符串

char *p_data =null;
//找到"+TEST_RXLORA" 这个首地址
p_data  = strstr((const char *)re_data, "+TEST_RXLORA");     
//查找十进制数值(int *)&lora_rssi[rssi_cnt])
 if(sscanf(p_data, "+TEST_RXLORA:%d:", (int *)&lora_rssi[rssi_cnt]))

2: 字符串转十六进制

如:“112233” 0x11 0x22 0x33

static char *mem_strtoehx(const char *in_str, char *out_hex, int len)
{
    int i,j;
    char ch;
    const char *p = in_str;

    for(i = 0, j = 0; i < len; p++, i++)
    {
        ch = *p;
        if (isdigit(ch))
            ch -= '0';
        else if (isxdigit(ch))
            ch -= isupper(ch) ? 'A' - 10 : 'a' - 10;
        else
            break;

        out_hex[j] += ch;
        if(i%2)
            out_hex[++j] = 0;
        else
            out_hex[j] = out_hex[j] << 4;
    }

    return out_hex;
}

你可能感兴趣的:(C,语言类)