2019-03-23 14:33发布
在使用sim800c发送短信过程中,只知道如何发送一连串的数据,但如果要分行的话就不会了。例如:设备编号:00 压力异常!请问这样的要如何实现呢?在AT指令集里没找到(应该是不懂),数据长度如何计算?谢谢了!
恩恩,是的,但是在发送信息之前不是需要先发送个数吗?例如:需要发送的数据: ...
发中文短信,AT+CMGS后面的参数是unicode编码的号码,你这43啥意思,我用的是SIM_800,AT指令和SIM_800C应该是一样的,你参考下
/** * [url=home.php?mod=space&uid=159083]@brief[/url] 设置为短信模式 * @param None * @retval None */ void SIM800_SMSMode(void) { printf(" 接下来要测试的是:短信接收(中英混合) "); printf("请向模块上的SIM卡发送一条中英混合短信 "); printf("按S2发送短信,按S3读取短信 "); if(SIM800_Cmd("AT+CMGF=1","OK",NULL,500)!=0) //设置为文本模式 { } if(SIM800_Cmd("AT+CSMP=17,167,2,25","OK",NULL,500)!=0) //设置为文本模式参数 { } if(SIM800_Cmd("AT+CSCS="UCS2"","OK",NULL,500)!=0) //设置UCS2字符集 { } if(SIM800_Cmd("AT+CNMI=2,1","OK",NULL,500)!=0) //设置新消息提示 { } } 复制代码 /** * @brief 发送中文短信 * @param None * @retval None */ void SIM800_SendSMS_CN(void) { //短信发送测试 全部按unicode编码 //文本模式在前面设置过,无需重复设置 char *sendSMS="0063006F006D0065002000660072006F006D00206DF1573365FA5B9D75355B50"; //come from 深圳旺宝电子 char *phoneNum="AT+CMGS="00310033003500330034003200390038003200380030"";//注意,改成收信人的号码,可以自己发 给自己做测试 if(SIM800_Cmd(phoneNum,">",NULL,500)!=0) //返回>时就可以输入要发送的内容 { USART6_Send_Data((u8*)sendSMS,strlen(sendSMS)); printf(" 启动发送 "); USART_SendData(USART6,STARTSEND); //启动发送 printf(" 发送完成 "); } } 复制代码
最多设置5个标签!
发中文短信,AT+CMGS后面的参数是unicode编码的号码,你这43啥意思,我用的是SIM_800,AT指令和SIM_800C应该是一样的,你参考下
一周热门 更多>