標題: GSM短信模塊AT指令及編程 [打印本頁]
作者: a13060553023 時間: 2016-7-17 10:48
標題: GSM短信模塊AT指令及編程
單片機串口不夠用或者沒有串口,怎么樣模擬呢?
串口通信時數據格式由一個起始位,八個數據位,一個或兩個結束位組成。在數據發送是結束位是不能省。但在數據接收時,程序中就沒有必要等待結束位了,因為在等待結束位的過程中,把下一個數據的起始中斷也等待過去了。程序發送口采用任一IO口,接收口采用外部中斷0口,實現了9600bit/s的串口通信,信號產生與接收采用定時器定時溢出標志來進行控制。另外在程序中需要注意下面問題:1、中斷的中斷標志要保證狀態正確2、定時器定時要精確 下面是我們單片機是所寫的串口通信程序,主要用來實習發送和接收短信,因此下面的AT指令讓我們一起學習一下:AT指令功能
AT+CMGC Send an SMS commend(發出一條短信息命令)
AT+CMGD Delete SMS message (刪除SIM卡內存的信息)
AT+CMGF Select SMS message format(選擇短消息信息格式:0-PDU;1-文本)
AT+CMGL List SMS message from preferred store(列出SIM卡中的短消息格式PDU/TEXT:0“REC
UNREAD”為未讀,1“REC READ”為已讀,2“STOU NSENT”為待發,3“STOSENT”為已發,
4“ALL”為全部
AT+CMGR Read SMS message (讀短消息)
AT+CMGS Send SMS message (發短消息)
AT+CMGW Write SMS message to memory (向SIM內存中寫入待發的短消息)
AT+CNMI New SMS message storage(顯示新收到的短消息)
AT+CPMS Preferred SMS message storage (選擇短消息內存)
AT+CSCA SMS service center address(短消息中心地址)
AT+CSCB Select cell broadcast message messages (選擇蜂窩廣播信息)
AT+CSMP Set SMS text mode parameters(設置短消息文本模式參數)
模塊的供電電壓如果低于3.3V會自動關機。同時模塊在在發射時,電流峰值可高達2A。同時在此電流峰值時,電源電壓(送入模塊的電壓)下降值不能超過0.4V。所以該模塊對電源的要求較高,電源的內阻+FFC聯接線的電阻必需小于200mΩ。
單片機通過兩根I/O口控制TC35的開關機、復位等,通過串口與TC35進行數據通信,通信速率為9600Kbps,采用8位異步通訊方式,1位起始位,8位數據位,1位停止位。
TC35模塊輸入輸出的TTL正電平邏輯不是+5V,而是+2.9V,因此必要時加端口保護。 #ifndef sentmessage
#define sentmessage
#define uint unsigned int
#define uchar unsigned char
void delay_1000us(uchar n) //延遲0.01s
{
unsignedchar a,b,c;
for(c=0;c<n;c++)
{
for(b=249;b>0;b--)
for(a=17;a>0;a--);
}
}
void delay_100us(uchar c) //誤差 -0.173611111111us
{
unsigned char a,b,i;
for(i=0;i<c;i++)
{
for(b=1;b>0;b--)
for(a=43;a>0;a--);
}
}
voiddelay_5s(void) //誤差 -0.000000002274us
{
unsigned char a,b,c;
for(c=203;c>0;c--)
for(b=156;b>0;b--)
for(a=144;a>0;a--);
}
void Sendchar(unsigned char c)
{
SBUF = c;
while(!TI);
TI = 0;
}
void Sentstring(unsigned char *p)
{
while(*p!='\0')
{
Sendchar(*p++);
}
}
/*
void Sent_message()
{
Sentstring("AT+CMGS=\"1252015215029882\"");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("afasfasd");
delay_100us(60);
Sendchar(0x1a);
}
*/
void Pre_readmessage()
{
Sentstring("AT");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CMGF=1");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CNMI=2,1");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
}
void Readmessage(unsigned char msgnum) //讀短信
{
ES=1;
Sentstring("AT+CMGR=");
Sendchar(msgnum);
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(300);
ES=0;
}
void Delete_message(uchar num)
{
Sentstring("AT+CMGD=");
Sendchar(num);
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
}
void Send_yfhz(uchar str[])
{
Sentstring("AT");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CMGF=0");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CMGS=23");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("0891683108408705F0"); //發送內容
Sentstring("11000D9168");
Sentstring(str);
Sentstring("000801086CE8610F9632706B");
Sendchar(0x1a);
delay_1000us(500);
}//0891683108200305F011000D91683146384837F2000801084E3B4EBA8BF7610F6CE8
//0891683108200309F011000D91685121333639F7000801064E3B4EBA8BF7610F6CE8
void Send_bxg(uchar str[])
{
Sentstring("AT");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CMGF=0");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CMGS=23");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("0891683108408705F0"); //發送內容
Sentstring("11000D9168");
Sentstring(str);
Sentstring("000801086CE8610F963276D7");
Sendchar(0x1a);
delay_1000us(500);
}
void Send_tdg(uchar str[])
{
Sentstring("AT");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CMGF=0");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CMGS=23");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("0891683108408705F0"); //發送內容
Sentstring("11000D9168");
Sentstring(str);
Sentstring("0008010853F0706F5DF25173");
Sendchar(0x1a);
delay_1000us(500);
}
void Send_secret(uchar str[])
{
Sentstring("AT");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CMGF=0");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CMGS=23");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("0891683108408705F0"); //發送內容
Sentstring("11000D9168");
Sentstring(str);
Sentstring("0008010895E8670953719669");
Sendchar(0x1a);
delay_1000us(500);
}
void Send_tdk(uchar str[])
{
Sentstring("AT");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CMGF=0");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CMGS=23");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("0891683108408705F0"); //發送內容
Sentstring("11000D9168");
Sentstring(str);
Sentstring("0008010853F0706F5DF25F00");
Sendchar(0x1a);
delay_1000us(500);
}
/*
void Send_tdk1()
{
Sentstring("AT");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CMGF=0");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CMGS=23");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(30);
Sentstring("0891683108408705F0"); //發送內容
Sentstring("11000D91685112059288F2");
Sentstring("0008010853F0706F5DF25F00");
Sendchar(0x1a);
delay_1000us(500);
}*/
void Send_fsg(uchar str[])
{
Sentstring("AT");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CMGF=0");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CMGS=23");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("0891683108408705F0"); //發送內容
Sentstring("11000D9168");
Sentstring(str);
Sentstring("0008010898CE62475DF25173");
Sendchar(0x1a);
delay_1000us(500);
}
void Send_fsk(uchar str[])
{
Sentstring("AT");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CMGF=0");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CMGS=23");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("0891683108408705F0"); //發送內容
Sentstring("11000D9168");
Sentstring(str);
Sentstring("0008010898CE62475DF25F00");
Sendchar(0x1a);
delay_1000us(500);
}
void Send_ykm(uchar str[])
{
Sentstring("AT");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CMGF=0");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CMGS=23");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("0891683108408705F0"); //發送內容
Sentstring("11000D9168");
Sentstring(str);
Sentstring("000801085DF262535F0095E8");
Sendchar(0x1a);
delay_1000us(500);
}
void Send_jiankong(uchar str[],uint a,uintb)
{
Sentstring("AT");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CMGF=1");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("AT+CMGS=");
Sentstring(str);
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("taideng shi ");
if(a==1)
Sentstring("guan de,");
else
Sentstring("kai de,");
Sentstring("fengshan shi ");
if(b==1)
Sentstring("guan de!");
else
Sentstring("kai de!");
Sendchar(0X0D);
Sendchar(0X0A);
Sendchar(0x1a);
delay_1000us(500);
}
void Send_phone(uchar str[])
{
Sentstring("AT");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(20);
Sentstring("atd");
Sentstring(str);
Sentstring(";");
Sendchar(0X0D);
Sendchar(0X0A);
delay_1000us(500);
}
#endif
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
欧美日韩在线免费观看
|
国产黄色在线观看
|
在线中文字幕日韩
|
国内精品视频一区二区三区
|
久久精品aaa
|
亚洲一区二区电影网
|
99精品国产一区二区青青牛奶
|
成人免费视频网站在线观看
|
超碰人人做
|
亚洲97|
色视频一区二区
|
精品欧美一区二区久久久伦
|
福利视频网站
|
久久机热
|
在线观看日韩av
|
97伦理影院|
日韩精品在线一区二区
|
一区二区免费在线视频
|
狼色网|
欧美天堂
|
国产一区二区三区免费
|
成年人在线观看视频
|
久久精品国产久精国产
|
国产在线精品免费
|
国产精品一区二区久久久久
|
国产精品不卡一区
|
中文字幕 在线观看
|
欧美日韩国产一区二区三区
|
日韩免费三级
|
男女视频在线免费观看
|
成人免费一区二区三区视频网站
|
精品视频在线观看
|
午夜精品久久久久久不卡欧美一级
|
亚洲视频一区二区三区
|
日韩欧美在线一区
|
这里有精品
|
久久a久久
|
亚洲精品一区av在线播放
|
中文字幕久久精品
|
99久久日韩精品免费热麻豆美女
|
视频一区二区在线观看
|