找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2784|回复: 1
收起左侧

GSM/GPRS模块 SIM发送信息单片机程序

[复制链接]
ID:139660 发表于 2017-5-12 19:26 | 显示全部楼层 |阅读模式
SIM发送信息程序
0.png

单片机源程序如下:
  1. /*********************************************************************
  2.                  作者:神秘藏宝室
  3.         本例程仅适用于在本店购买GSM/GPRS模块模块的用户使用,鄙视其它店铺的盗用行为
  4.         版权所有,盗版必究!!!
  5. *********************************************************************/

  6. #include "main.h"
  7. #include "uart.h"

  8. //常量
  9. #define Success 1U
  10. #define Failure 0U

  11. //定义变量
  12. unsigned long  Time_Cont = 0;       //定时器计数器

  13. char phoneNumber[] = "39";                //替换成需要被拨打电话的号码
  14. char msg[] = "";                //短信内容       

  15. //****************************************************
  16. //主函数
  17. //****************************************************
  18. void main()
  19. {

  20.     Uart_Init();

  21.         if (sendCommand("AT\r\n", "OK\r\n", 3000, 10) == Success);
  22.         else errorLog();
  23.         delay_ms(10);

  24.         if (sendCommand("AT+CPIN?\r\n", "+CPIN:READY", 1000, 10) == Success);
  25.         else errorLog();
  26.         delay_ms(10);

  27.         if (sendCommand("AT+CREG?\r\n", "+CREG: 1,1", 1000, 10) == Success);
  28.         else errorLog();
  29.         delay_ms(10);

  30.         if (sendCommand("AT+CMGF=0\r\n", "OK\r\n", 1000, 10) == Success);
  31.         else errorLog();
  32.         delay_ms(10);

  33.         if (sendCommand("AT+CSCS=\"GSM\"\r\n", "OK\r\n", 1000, 10) == Success);
  34.         else errorLog();
  35.         delay_ms(10);

  36.         sendMessage(phoneNumber);                //发送短信

  37.         while(1)
  38.         {       

  39.         }
  40. }

  41. void sendMessage(char *number)
  42. {
  43.         xdata char send_buf[20] = {0};
  44.         memset(send_buf, 0, 20);    //清空
  45.         strcpy(send_buf, "AT+CMGS=");
  46.         strcat(send_buf, number);
  47.         strcat(send_buf, "\r\n");
  48.         if (sendCommand(send_buf, ">", 3000, 10) == Success);
  49.         else errorLog();

  50.         SendString("0011000D91683137380502F50008AA180048006F0077002000610072006500200079006F0075003F");

  51.         SendData(0x1A);
  52. }

  53. void phone(char *number)
  54. {
  55.         char send_buf[20] = {0};
  56.         memset(send_buf, 0, 20);    //清空
  57.         strcpy(send_buf, "ATD");
  58.         strcat(send_buf, number);
  59.         strcat(send_buf, ";\r\n");

  60.         if (sendCommand(send_buf, "SOUNDER", 10000, 10) == Success);
  61.         else errorLog();
  62. }

  63. void errorLog()
  64. {
  65.         while (1)
  66.         {
  67.                   if (sendCommand("AT\r\n", "OK", 100, 10) == Success)
  68.                 {
  69.                         soft_reset();
  70.                 }
  71.                 delay_ms(200);
  72.         }
  73. }

  74. void soft_reset(void)         //制造重启命令
  75. {
  76.    ((void (code *) (void)) 0x0000) ();
  77. }

  78. unsigned int sendCommand(char *Command, char *Response, unsigned long Timeout, unsigned char Retry)
  79. {
  80.         unsigned char n;
  81.         CLR_Buf();
  82.         for (n = 0; n < Retry; n++)
  83.         {
  84.                 SendString(Command);                 //发送GPRS指令

  85.                 Time_Cont = 0;
  86.                 while (Time_Cont < Timeout)
  87.                 {
  88.                         delay_ms(100);
  89.                         Time_Cont += 100;
  90.                         if (strstr(Rec_Buf, Response) != NULL)
  91.                         {
  92.                                
  93.                                 CLR_Buf();
  94.                                 return Success;
  95.                         }
  96. ……………………

  97. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
发送短信成功.rar (60.44 KB, 下载次数: 44)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:216190 发表于 2017-7-2 15:09 | 显示全部楼层
楼主这个是,只要运行就会发送一次短信的还是什么啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表