⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stest.c

📁 串行
💻 C
字号:

#include "string.h"
#include "reg52.h"

#define	TRUE	1
#define FALSE	0


void init(void);	
void mod_comd(unsigned char *str1);
void mod_data(unsigned char *str1);

unsigned char idata state         _at_ 0x22;
unsigned char idata mod_buff_head _at_ 0x20; 
unsigned char idata mod_buff_tail _at_ 0x21;	
unsigned char idata mod_buff[31]  _at_ 0x30;

main()
{
	unsigned char i,k,n;
	init();
	mod_buff_tail=0;
	for (i=0;i<32;i++) mod_buff[i]=0;
//	for (i=0;i<250;i++) {for (k=0;k<16;k++);}  // 50*i circle
	for (i=0;i<250;i++) {for (k=0;k<250;k++) {for (n=0;n<40;n++);};} // need delay 4 second!!!!!
	
	mod_comd("atv0e0s0=1");		//setup
	while ( !((mod_buff[11]==0x30)&(mod_buff[12]==0x0d)));

	mod_buff_tail=0;
	for (i=0;i<32;i++) mod_buff[i]=0;	

	mod_comd("atdt16");		//dial
	while (!((mod_buff[0]==0x31)&(mod_buff[1]==0x32)&(mod_buff[2]==0x0d)));
	
	mod_buff_tail=0;
	for (i=0;i<32;i++) mod_buff[i]=0;


	mod_data("abcdefghigklmnopqrstuvwxyz");		//send data
	mod_comd(" ");								//send char  ENTER
	mod_data("1234567890");
	mod_comd(" ");
	mod_data("kkkkkkkkk");
	mod_comd(" ");;
	mod_data("+");	
	mod_data("+");
	mod_data("+");
	mod_comd("ath0");
	
	
	
while(1);

}





void mod_comd(unsigned char *str1)
{
	unsigned char i,k;
	do
	{	
	  if(*str1!=0x00)
	    { SBUF=*str1;
	      state=FALSE;
	      while(state==FALSE);
  		  str1++;	     
  	    }
		else break;	 
	}while(1);
		SBUF=0x0d;
		state=FALSE;
		for (i=0;i<250;i++) {for (k=0;k<16;k++);}  // 50*i circle
}	


void mod_data(unsigned char *str1)
{
	do
	{	
	  if(*str1!=0x00)
	    { SBUF=*str1;
	      state=FALSE;
	      while(state==FALSE);
  		  str1++;	     
  	    }
		else break;	 
	}while(1);
		state=FALSE;		
}	





//===============================================================
void init(void)	
{
	TMOD=0x22;
	TL1=0xf6;
	TH1=0xf6;
	SCON=0x50;
	PCON=0x80;

	ET1=0;
	TR1=1;
	ES=1;
	EA=1;
}


void SCON_int(void)  interrupt 4  using 3   
{
	if (RI==1)
		{ RI=0;			
		  mod_buff[mod_buff_tail]=SBUF;
        	  mod_buff_tail=(mod_buff_tail+1)%0x32;	
		}	
		
	if (TI==1)
	{ TI=0;
	  state=TRUE;
	}
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -