网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月29日漏签0天
物联网吧 关注:94,340贴子:1,148,243
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 8回复贴,共1页
<<返回物联网吧
>0< 加载中...

sim900 发短信有点问题,知道的进来看看

  • 只看楼主
  • 收藏

  • 回复
  • 縋碸尐姩
  • 智能家居
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
//发送英文短信
char t1[25]="at+cops?\r";
char t2[25]="AT+CMGF=1\r";
char t3[30]="AT+CMGS=\"电话号码\"\r";
char t4[25]="adad";
char t5[25]={0x1a};
一共五个代码,通过数组的方式发英文短信出来,电话可以打,说明网络可以连接,短信测试的时候接不到短信,各位看看代码有什么问题,没有报错。。。。


  • h2013cl
  • 初识物联
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主你的问题和我的一样,请问你解决了吗?如果你有写好的用51单片机控制的SIM900程序发我邮箱好吗?我不胜感激 879337955@qq.com


2025-06-29 08:26:41
广告
  • 寂寞眼泪1992
  • 物联硕士
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
#define Phone 1 //正在打电话状态标志
#define Clear 0 //电话已挂断状态标志
sbit Phone_Call_Key=P3^4; //打电话按键
sbit Hang_up=P3^5; //挂电话按键
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
sbit led4=P1^3;
sbit led5=P1^4;
sbit Send_SMS_Text_key=P3^6; //发Text格式短信按键
sbit Send_SMS_PDU_key=P3^7; //发PDU格式短信按键
char Calls_State_Flag=Clear; //电话状态
uchar code PhoneCall[]="15150662372";
uchar code SMS_send[]= "AT+CMGS=";
uchar code SMS_TXET[]= "AT+CMGF=1";//发送数据为TXET格式
uchar code SMS_PDU[]= "AT+CMGF=0";//发送数据为PDU格式
uchar code Sms[]="I love you";
uchar code Sms1[]="The light is broken";
uchar code Byte_num[]="21";
char code Sms2_Pdu[]="0891683110301405F011000D91685159503063F9000800064F60597D0021"; //内容是:您好
void delay(uint ms)// 延时子程序
{
uchar i;
while(ms--)
{
for(i=0;i<120;i++);
}
}
void Print_Char(uchar ch)//发送单个字符
{
SBUF=ch; //送入缓冲区
while(!TI); //等待发送完毕
TI=0; //软件清零
}
void Print_Str(uchar *str)//发送字符串
{
while(*str!='\0')
{
Print_Char(*str++);
}
}
void Ini_UART(void)//串口初始化、定时器初始化
{
TMOD = 0x20; //T1方式2,用于UART波特率
TH1 = 0xFD; //UART波特率设置:9600
TL1 = 0xFD;
SCON = 0x50; //UART方式1:8位UART; REN=1:允许接收
PCON = 0x00;
TF1 = 1; // 中断标志位
TR1 = 1; // 启动定时器1
ES=1; //启动串行口中断
ET0=1; //启动中断功能
EA=1;
}
void GSM_ATH()
{
Print_Str("ATH"); //发送挂电话指令
Print_Str("\r\n"); //发送回车
delay(1000);
delay(1000);
}
void phone() //打电话函数
{
Print_Str("ATD");
Print_Str(PhoneCall); //发送打电话指令+目标电话号码
Print_Char(';');
Print_Str("\r\n");
led2=0;
delay(5000);
delay(5000);
}
void GSM_TEXT() //设置GSM为TEXT格式
{
Print_Str(SMS_TXET); //发送设置指令
Print_Str("\r\n"); //发送回车
ES=1;
delay(3000);
}
void GSM_TEXT_SMS() //发送TEXT格式内容
{
Print_Str(SMS_send);
Print_Str(PhoneCall);
Print_Str("\r\n");
delay(1000);
Print_Str(Sms1);
Print_Char(0x1a); //发送短息内容结束符对应的ASCII为0x1a
ES=1;
delay(1000);
delay(5000);
}
void GSM_PDU() //设置GSM为PDU格式
{
Print_Str(SMS_PDU); //发送设置指令
Print_Str("\r\n"); //发送回车
ES=1;
delay(1000);
delay(1000);
delay(1000);
}
void GSM_PDU_SMS() //发送PDU格式内容
{
Print_Str(SMS_send);
Print_Str(Byte_num);
Print_Str("\r\n"); //发送回车
Print_Str(Sms2_Pdu);
Print_Char(0x1a); //发送短息内容结束符对应的ASCII为0x1a
ES=1;
delay(1000);
delay(5000);
}
void main()
{
Ini_UART();
led5=0;
delay(5000);
while(1)
{
if(!Hang_up)
{
led2=1;
GSM_ATH(); //发送挂电话指令
Calls_State_Flag=Clear;
led1=1;
}
if((!Phone_Call_Key)&&(Calls_State_Flag==Clear))
{
phone(); //拨打电话
Calls_State_Flag=Phone;
led1=0;
}
if((!Send_SMS_Text_key)&&(Calls_State_Flag==Clear))
{
led3=0;
GSM_TEXT();
GSM_TEXT_SMS();
led3=1;
}
if((!Send_SMS_PDU_key)&&(Calls_State_Flag==Clear))
{
led4=0;
GSM_PDU();
GSM_PDU_SMS();
led4=1;
}
}
}
我用的是华为GTM900-C 注意波特率的设置


  • 扎西德勒tone
  • 智能安防
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
调好发来看看,一起研究


  • aimcp
  • 智能电网
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
啊


  • 张功勤123
  • 初识物联
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
打电话时,不可以同时发短信,发短信不可以同时打电话。要错开时间段。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 8回复贴,共1页
<<返回物联网吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示