久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機控制TC35 之發送TEXT短信——MADE BY lyq

51單片機控制TC35 之發送TEXT短信——MADE BY lyq

作者: 時間:2016-11-13 來源:網絡 收藏
主函數

#include
#include "1602.h"
#include "uart.c"
#include "tc35.c"

本文引用地址:http://cqxgywz.com/article/201611/316394.htm

//#define RsBuf_N 50

//char RsBuf[RsBuf_N]; //定義串口接收數據緩沖區
//uchar RsPoint=0;
uchar code PhoneNO[]= "+8615900000000";//改了
uchar code Text[]= "I love SDNU";
uchar code center[]="+8613800531500";

void main()
{
TC35_init();
Uart_init();
init_1602();

Send_AT();

Set_MODE(1); //設置短消息模式
Set_CENTER(center); // 設置短消息中心 AT+CSCA=“+8613800531500”回車
TransmitText(PhoneNO,Text);

while(1);
//lcd_disp_str(RsBuf ,2);

}


/*問題:
每次處理完數據。RsPoint是怎樣清零的?????在 準備發一個數據,然后接受一個數據 之前
RsBuf[RsPoint++]=SBUF;
RsBuf[RsPoint]=0x00; //將下一個數據清零

如果這個發送沒問題。加刪除,接收函數,參考桌面上的tc35.c

添加液晶菜單的支持 ,類似手機
*/

========================================================

========================================================

/******************************************************************

函數名TC35.c
MADE BY lyq

my BLOGhttp://hi.baidu.com/282280072

*******************************************************************/

#include "uart.c"
#include "1602.h"
#include "delay.h"

#define uchar unsigned char
#define uint unsigned int
#define NULL 0

#define ATwaits 10
#define DWWwaits 10
#define Readwaits 10
#define Sendwaits 10

#define RsBuf_N 50

char RsBuf[RsBuf_N]; //定義串口接收數據緩沖區
uchar RsPoint;

void Send_AT(void);
char *mystrstr(char *s, char *t);
void Num2char(uchar i);

/***********************TC35模塊初始化******************************
*功 能: TC35模塊初始化, P0.0輸出低電平至少100ms
*形 參:
*返 回 值:
*備 注:
*****************************************************************/
void TC35_init()
{

P0|=0x01;
P0&=~0x01;
delayms_100ms();delayms_100ms();delayms_100ms();delayms_100ms();
delayms_100ms();delayms_100ms();
P0|=0x01;
delayms_10s();delayms_10s();delayms_10s();
}

/***********************發送聯機指令******************************
*功 能: 串口發送數組命令到TC35,"AT",
*形 參:
*返 回 值:
*備 注: 測試GSM模塊是否連接正確
*****************************************************************/
void Send_AT(void)
{
uchar *p,i=ATwaits; //ATwaits=10
//lcd_disp_str(RsBuf,1);


while(i--) //測試10次,在某一次成功就退出
{
//RsBuf[0]=