AT指令解析(來自網絡)


/* 
在這里就打印解析的內容 
*/  
void Handle(char *str, int len)  
{  
    char *p = (char *)malloc(len + 1);  
    memcpy(p, str, len);  
    p[len] = 0;  
    printf("%s\r\n", p);  
    free(p);  
}  
  
/* 
str:需要解析的字符串 
slipt;分割字符串 
cb:回調函數指針,當找到內容后,去想該函數 
舉例子:AtAnalysis("AT\r\n\r\nOK\r\n", "\r\n", Handle); 
*/  
void AtAnalysis(char *str, char *slipt, void (*cb)(char *, int))  
{  
    char *p = NULL;  
    int len = strlen(slipt);  
    p = strstr(str, slipt);  
    while (p != NULL)  
    {  
        cb(str, p - str);  
        str = p + len;  
        p = strstr(str, slipt);  
    }  
    cb(str, strlen(str));  
}  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM