标题:
GSM/GPRS模块 SIM发送信息单片机程序
[打印本页]
作者:
xiaosizhu1995
时间:
2017-5-12 19:26
标题:
GSM/GPRS模块 SIM发送信息单片机程序
SIM发送信息程序
0.png
(65.16 KB, 下载次数: 53)
下载附件
2017-5-13 03:31 上传
单片机源程序如下:
/*********************************************************************
作者:神秘藏宝室
本例程仅适用于在本店购买GSM/GPRS模块模块的用户使用,鄙视其它店铺的盗用行为
版权所有,盗版必究!!!
*********************************************************************/
#include "main.h"
#include "uart.h"
//常量
#define Success 1U
#define Failure 0U
//定义变量
unsigned long Time_Cont = 0; //定时器计数器
char phoneNumber[] = "39"; //替换成需要被拨打电话的号码
char msg[] = ""; //短信内容
//****************************************************
//主函数
//****************************************************
void main()
{
Uart_Init();
if (sendCommand("AT\r\n", "OK\r\n", 3000, 10) == Success);
else errorLog();
delay_ms(10);
if (sendCommand("AT+CPIN?\r\n", "+CPIN:READY", 1000, 10) == Success);
else errorLog();
delay_ms(10);
if (sendCommand("AT+CREG?\r\n", "+CREG: 1,1", 1000, 10) == Success);
else errorLog();
delay_ms(10);
if (sendCommand("AT+CMGF=0\r\n", "OK\r\n", 1000, 10) == Success);
else errorLog();
delay_ms(10);
if (sendCommand("AT+CSCS=\"GSM\"\r\n", "OK\r\n", 1000, 10) == Success);
else errorLog();
delay_ms(10);
sendMessage(phoneNumber); //发送短信
while(1)
{
}
}
void sendMessage(char *number)
{
xdata char send_buf[20] = {0};
memset(send_buf, 0, 20); //清空
strcpy(send_buf, "AT+CMGS=");
strcat(send_buf, number);
strcat(send_buf, "\r\n");
if (sendCommand(send_buf, ">", 3000, 10) == Success);
else errorLog();
SendString("0011000D91683137380502F50008AA180048006F0077002000610072006500200079006F0075003F");
SendData(0x1A);
}
void phone(char *number)
{
char send_buf[20] = {0};
memset(send_buf, 0, 20); //清空
strcpy(send_buf, "ATD");
strcat(send_buf, number);
strcat(send_buf, ";\r\n");
if (sendCommand(send_buf, "SOUNDER", 10000, 10) == Success);
else errorLog();
}
void errorLog()
{
while (1)
{
if (sendCommand("AT\r\n", "OK", 100, 10) == Success)
{
soft_reset();
}
delay_ms(200);
}
}
void soft_reset(void) //制造重启命令
{
((void (code *) (void)) 0x0000) ();
}
unsigned int sendCommand(char *Command, char *Response, unsigned long Timeout, unsigned char Retry)
{
unsigned char n;
CLR_Buf();
for (n = 0; n < Retry; n++)
{
SendString(Command); //发送GPRS指令
Time_Cont = 0;
while (Time_Cont < Timeout)
{
delay_ms(100);
Time_Cont += 100;
if (strstr(Rec_Buf, Response) != NULL)
{
CLR_Buf();
return Success;
}
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
发送短信成功.rar
(60.44 KB, 下载次数: 44)
2017-5-12 19:25 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
909169697
时间:
2017-7-2 15:09
楼主这个是,只要运行就会发送一次短信的还是什么啊
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1