引用实现原理https://blog.csdn.net/cc214042/article/details/52488850
实现代码如下:
void EC20_Send_SMS(char* phone,char* fmt,...)
{
va_list ap;
uint16_t i,len,tab=0; //参考
char str[120],buf[20],center[20],str_end[500]; //使用PDU模式是为了兼容电信卡,以下是PDU拼包过程
memset(buf, 0, sizeof(buf));
len = strlen(global_csca_buf); //获取信息中心号码
memcpy(buf, global_csca_buf, len); //拷贝到临时缓存内
if (len % 2 == 1) //如果信息中心号码长度是奇数
buf[len++] = 'F'; //在末尾补一个'F'
//Uart_printf(huart2,"center1=%s\r\n", buf);
tab += sprintf(¢er[tab], "%02X91", (len+2)/2); //在信息中心头加上长度和"91",长度=(strlen(中心)+strlen("91"))/2