
单片机控制GSM模块发短信,程序
下面是程序,不知道程序错在哪,发短信不成功。确定了硬件方面没有错误,求大神,谢谢!#include<reg52.h>#defineuintunsignedint#defi...
下面是程序,不知道程序错在哪,发短信不成功。确定了硬件方面没有错误,求大神,谢谢!
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit key=P3^4;
void delay(uint x)
{
uint i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void send(uint sdata)
{
SBUF=sdata;
while(TI==0);
TI=0;
}
void main()
{
SCON=0x40; //SM1=1,其他为0
TMOD=0x20;
PCON=0x00;
TH1=0xfd;
TL1=0xfd;
TI=0;
TR1=1;
REN=1;
key=1;
EA=1;
ES=1;
while(1)
{
if(key==0)
{
delay(10);
if(key==0)
{
send ("AT+CMGF=0\r\n");
delay(1000);
send ("AT+CMGS=25\r\n");
delay(1000);
send ("0891683108401505F011000D91688121163768F20008000A6211723153557247673A");
delay(2000);
send (0x1a);
}
}
}
}
是用的stc89c52rc控制的GSM模块 展开
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit key=P3^4;
void delay(uint x)
{
uint i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void send(uint sdata)
{
SBUF=sdata;
while(TI==0);
TI=0;
}
void main()
{
SCON=0x40; //SM1=1,其他为0
TMOD=0x20;
PCON=0x00;
TH1=0xfd;
TL1=0xfd;
TI=0;
TR1=1;
REN=1;
key=1;
EA=1;
ES=1;
while(1)
{
if(key==0)
{
delay(10);
if(key==0)
{
send ("AT+CMGF=0\r\n");
delay(1000);
send ("AT+CMGS=25\r\n");
delay(1000);
send ("0891683108401505F011000D91688121163768F20008000A6211723153557247673A");
delay(2000);
send (0x1a);
}
}
}
}
是用的stc89c52rc控制的GSM模块 展开
2个回答
展开全部
void send(uint sdata)--这是发送一个字节的函数
{
SBUF=sdata;
while(TI==0);
TI=0;
}
send ("AT+CMGF=0\r\n");
send ("AT+CMGS=25\r\n");
发送一个字节的函数,在这里,你却用它发送字符串?
----
单片机发出的东西,你先不要急着送到手机模块。
先送到 PC 的串口助手,看看,你都发出了什么。
{
SBUF=sdata;
while(TI==0);
TI=0;
}
send ("AT+CMGF=0\r\n");
send ("AT+CMGS=25\r\n");
发送一个字节的函数,在这里,你却用它发送字符串?
----
单片机发出的东西,你先不要急着送到手机模块。
先送到 PC 的串口助手,看看,你都发出了什么。
追问
那请问怎样把那个函数改为发送字符串呢,谢谢
追答
编程呗。
看看我的百度空间,串口通信的程序,有很多的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询