TC35控制继电器

源代码在线查看: tc35+

软件大小: 48 K
上传用户: xtqbp
关键词: TC 35 控制继电器
下载地址: 免注册下载 普通下载 VIP

相关代码

				// Header:    	tc35操作函数
				// File Name: 	TC35.C
				// Author:	  	兴创科技
				
				
				#include "hardware.h"
				#include "SMS.h"
				
				extern uchar numbuff[];
				
				void delay(uint m)								//延时m*0.2ms
				{
					uchar n;
					for(;m>0;m--)
						for(n=100;n>0;n--);
				}
				void Sendcmd(uchar *p)				//发送AT命令
				{	
				 	while(*p)
				 	{
					 	SBUF=*(p++);
						while(TI==0);
						TI=0;
					}   
				}
				
				void Sendchar(uchar c)				//发送一个字符
				{ 
				    TI=0;   
				    SBUF=c;   
				    while(TI==0);   
				    TI=0;   
				}
				
				
				void Init_tc35(void)				//判断是否连接TC35
				{
					uint i=0xffff;
					rcount=0;
					receive_ok=0;
					Sendcmd("AT\r\n");   
					while(receive_ok==0)
					{
						i--;
						if(i==0)		 			//超时还未响应则返回
						{
							rcount=0;
							receive_ok=0;
							return;
						} 
					}	
					receive_ok=0;
				 	rcount=0;
				    delay(4000);
				 	i=0xffff;
					Sendcmd("AT&F\r\n");   
					while(receive_ok==0)
					{
						i--;
						if(i==0)		 			//超时还未响应则返回
						{
							rcount=0;
							receive_ok=0;
							return;
						} 
					}	
					receive_ok=0;
				 	rcount=0;
				    delay(4000);
				 	i=0xffff;
				
				 	Sendcmd("AT+IPR=4800\r\n");	   		//设置短消息格式	   
				 	while(receive_ok==0)
				    {
						i--;
					 	if(i==0)		 			//超时还未响应则返回
					   	{
							rcount=0;
				        	receive_ok=0;
					    	return;
						} 
					}
					receive_ok=0;
					rcount=0;
				    delay(4000);
				 	i=0xffff;
				
				 	Sendcmd("AT+CMGF=1\r\n");	   		//设置短消息格式	   
				 	while(receive_ok==0)
				    {
						i--;
					 	if(i==0)		 			//超时还未响应则返回
					   	{
							rcount=0;
				        	receive_ok=0;
					    	return;
						} 
					}
					receive_ok=0;
					rcount=0;
				    delay(4000);
				 	i=0xffff;
				
				 	Sendcmd("AT+CSCS=");	   		//设置字符集为“GSM”
					Sendchar('"');
					Sendcmd("GSM");
					Sendchar('"');
					Sendchar(0x0D);
					Sendchar(0x0A);		   
				 	while(receive_ok==0)
				    {
						i--;
					 	if(i==0)		 			//超时还未响应则返回
					   	{
							rcount=0;
				        	receive_ok=0;
					    	return;
						} 
					}
					receive_ok=0;
					rcount=0;
				 	tc35_init_ok=1;    				//全部初始化完毕置标志
				}
				
				
				
				//void Readsms(uchar index)						//读取指定索引号的短信内容
				void Readsms1()						//读取指定索引号的短信内容
				{
					ulong i=0x1ffff;					//这个值不能再小
					bit es;
					uchar j,k;
					receive_ok=0;
					rcount=0;
					Sendcmd("AT+CMGR=1");
					//Sendchar(index+0x30);
					Sendchar(0x0D);
				//	receive_ok=0;
					while(receive_ok==0)
					{
						i--;
						if(i==0)		 			//超时还未响应则返回
						{
							rcount=0;
							receive_ok=0;
							return;
						} 
					}
					receive_ok=0;
					
					
				//	rcount=0; 
				
				    es=ES;   
				    ES=0;							//关闭中断  
					k=rcount-9;
					for(j=6;j>0;j--)
					{
						databuff[j-1]=rbuff[k--];	//读短信内容到databuff
					}
					rcount=0;
					receive_ok=0;
					ES=es;							//恢复中断
				
				}
					void Readsms2()						//读取指定索引号的短信内容
				{
					ulong i=0x1ffff;					//这个值不能再小
					bit es;
					uchar j,k;
					receive_ok=0;
					rcount=0;
					Sendcmd("AT+CMGR=2");
					//Sendchar(index+0x30);
					Sendchar(0x0D);
				//	receive_ok=0;
					while(receive_ok==0)
					{
						i--;
						if(i==0)		 			//超时还未响应则返回
						{
							rcount=0;
							receive_ok=0;
							return;
						} 
					}
					receive_ok=0;
					
					
				//	rcount=0; 
				
				    es=ES;   
				    ES=0;							//关闭中断  
					k=rcount-9;
					for(j=6;j>0;j--)
					{
						databuff[j-1]=rbuff[k--];	//读短信内容到databuff
					}
					rcount=0;
					receive_ok=0;
					ES=es;							//恢复中断
				
				}
				void Delsms()			//删除指定索引号的短信
				{
					ulong i=0x5fffff;	  			//删除等待5秒,有的时候删除短信很慢
					receive_ok=0;  
					rcount=0;
					Sendcmd("AT+CMGD=1");
					//Sendchar(index+0x30);
					Sendchar(0x0D);
				
					while(receive_ok==0)
					{
						i--;
						if(i==0)		 			//超时还未响应则返回
						{
							rcount=0;
							receive_ok=0;
							return;
						} 
					}
					receive_ok=0;
					rcount=0; 
				}
				
							

相关资源