首先sim800c模块主要是通过AT指令操作发短信和打电话的,一般在串口助手上调试,但是这种方法并不适合我们实际做项目。所以我们通常通过MCU控制串口发送字符串(注意:换行(\r\n)和双引号(\"))来操作sim800c模块。

以下是我在做项目时遇到的问题和解决方法。

for(m=0; m < phone_count; m++)    /*phone_count是号码的个数*/{for (i = 0;i < 11;i++){b[i][0] = 0;b[i][1] = 0;b[i][2] = 3;b[i][3] = (int)read_iphone[m][i];    /*read_iphone二维数组里存放的多组号码*/}u3_printf("AT+CMGF=1\n");//发送短信内容到GSM模块delay_ms(1000);    /*要想连续发送短信,必须在AT指令执行后加上1s左右的延迟*/u3_printf("AT+CSMP=17,167,2,25\n");delay_ms(1000);u3_printf("AT+CSCS=\"UCS2\"\n");delay_ms(1000);u3_printf("AT+CMGS=");u3_printf("\"");for (i = 0;i < 11;i++)for(j=0; j<4; j++)u3_printf("%d", b[i][j]);u3_printf("\"");u3_printf("\n");delay_ms(1000);u3_printf("7740706B4E86");/*短信内容:着火了*/delay_ms(1000);USART_SendData(USART3,0X1A);memset(b ,0, sizeof(b));delay_ms(1000);}

首先,phone_count是flash中存储的号码个数,通过一个for循环连续给手机发送信息。由于发短信需要将手机号码转成unicode编码,但我发现手机号码转成unicode编码时有一个规律,比如,手机号码为12345678900转化成unicode编码就是"00310032003300340035003600370038003900300030"。发现规律了嘛。就是在我们输入的手机号每一位前面加上003!!!所以我将二维数组read_iphone内保存的手机号码转化成unicode编码保存在二维数组b中(就是将手机号码每一位的前面加上003)

最重要的来了!接下来就是发送AT指令,我之前写的每发送一条AT指令后延迟200ms,但是出现了错误,就是模块会隔一个手机号发送一次短信(只会发第1,3,5个手机号的短信)。最后调试发现在每条AT指令后都得延迟1s左右的时间,(注意是每条AT指令后都得加延迟)最终实现的连续发送短信的功能。

解决sim800c模块不能连续给多个手机号码发短信问题相关推荐

  1. SIM71004G模块使用Linux C语言实现打电话发短信

    为了方便查看博客,特意申请了一个公众号,附上二维码,有兴趣的朋友可以关注,和我一起讨论学习,一起享受技术,一起成长. 一.实验目的: SIM71004G模块使用Linux C语言实现打电话发短信. 二 ...

  2. 解决:苹果手机不能给10开头的号码发短信怎么办?

    发给1069070069会自动变成(10)69070069导致短信发不出去 解答 在这种号码的前面,加上一个中文逗号,即可

  3. Qt下面利用4G 模块SIM7600发短信调试总结

    项目需要在基于Qt的界面下发送短信,选用4G模块SIM7600通过AT指令发送短信,和小伙伴调了一天多,终于可以了,下面简单总结一下调试过程中遇到的问题和学习到的经验,供大家参考,少走弯路. 1.在网 ...

  4. cmgr linux命令,linux下利用GPRS模块发短信、打电话

    本文转自:http://www.cnblogs.com/wss-linux/p/3986006.html 一.开发环境 内核版本:linux-3.0 开发板:FL2440(nandflash:K9F1 ...

  5. 使用NB卡的NBIOT模块不能发短信

    我用的M5311模块(NBIOT模块的一种)的软件手册里有一个发短信的功能,但是试了很多遍根本发不出去.然后咨询了一下中移物联网的客服,他说"国家已经禁止NB物联网卡发短信了,您办理NB物联 ...

  6. Arduino+sim800C家居安防火灾报警 拨打电话 发送短信例程程序

    家居安防报警器,参考程序. 火灾报警 涉及用sim800c发短信,拨打电话通知.               接线: Sim800c 3.3V -> Arduino 3.3V Sim800c G ...

  7. (六)Linux 4G模块Text格式和PDU格式实现中英文短信发送

    文章目录 一.前言 二.Text格式发送英文 三.PDU格式发送中文 (1)获取短信中心号 (2)发送PDU短信 四.程序流程图 五.主程序 六.运行结果 七.问题解决 一.前言 在上一篇:(五)Li ...

  8. SIM900B GPRS模块————打电话、发短信、接电话

    1.简介 SIM900B是一款新型无线模块,属于B2B类型的四频GSM/GPRS模块,采用非常强大的AMR926EJ-S单芯片处理器,可完全兼容于SIM300/340 .其性能稳定,外观小巧,性价比高 ...

  9. Nexus S不能发短信的解决方法

    转自:http://apps.hi.baidu.com/share/detail/34073526 [转] Android短信中心设置方式 本着认真负责的态度, 重新测试了下, 下文子虚乌有, 真是吹 ...

最新文章

  1. 多线程并行和并发的区别
  2. Javascript综合应用小案例(续)
  3. CentOS 5.4 下配置FTP服务器 [转帖]
  4. 短融网杨夏耘:数据如何驱动金融科技业务升级?
  5. 如何实现少样本学习?先让神经网络get√视觉比较能力
  6. sudo密码一直出错
  7. 超级智能玩具《小小机器人》|全新50种玩法,创造力之源
  8. 将Java应用程序作为Windows服务安装
  9. java正则匹配的坑_java正则表达式入坑指南
  10. Youki的笔记本配置要求
  11. linux打开cap文件,cap/pcap类文件无法用wireshark打开
  12. 粗糙集理论(Rough Set Theory)
  13. canvas 画空心圆 实心圆
  14. 完全二叉树的权值——两种解法
  15. Matlab——常用函数的用法总结(部分直接摘自mathwork,持续更新)
  16. Python使用正则表达式提取文本中ABAC和AABB形式的成语
  17. 恰当的活法――有感于《杜拉拉升职记》
  18. 破开C暗夜的第一道光(2)——高质量代码风格
  19. 怎么实现黑白负片爆闪效果,有Vegas就足够啦
  20. 明解C语言入门篇第三版 pdf 初读体会

热门文章

  1. [js] uncaught exception: Error: listDatabases failed
  2. 每个男孩的机械梦「GitHub 热点速览 v.21.41」
  3. SQLIntegrityConstraintViolationException: Duplicate entry 'xxx' for key 'yyyzzz'异常解决
  4. 关于地名地址易混淆的概念和wfs-G服务如何实现
  5. 石破天惊! MD5算法被破解!
  6. ansible命令行常用模块
  7. 解决:ValueError: (‘Unrecognized keyword arguments:‘, dict_keys([‘ragged‘]))
  8. Java-Day12 面向对象的三大特征之封装、继承,单例模式(饿汉式、懒汉式)、方法重写 (覆盖)、注解 (annotation)、super关键字、对象的创建流程超详细
  9. 小程序-首页小列表查看更多
  10. lower/upper_bound