AT指令组帧方式
最近在编写NB模块的通信代码,其到具体应用就是编写AT指令,且格式基本固定。所以大多过程可以归结为组帧,即编写字符串。首先对字符串定义,这个一般就字符串数组,或者定义字符串指针,我是两者兼用。因为字符串数组对于AT指令便于理解,两者格式都为固定。字符串指针用于对应要上报或解析的数据帧,因为通常大小和内容都不固定。
之后便是常用的字符串拼接,复制等常用函数如memcpy或者strnat函数,还有就是sprintf函数的。这个对应一般拿到都是整型的数据要转成字符型十分方便,还有一种特殊情况如把字符型数据打印成字符型的ascii码。网上大多方法都是把字符型与十六进制相互转换的代码,可这次碰到上诉的情况。sprint的作用立马体现了,具体构造为sprintf( char *buffer, const char *format, [ argument] … ); 基本就用3形参即可。例如以下应用过程: