gsm-

来自「GSM室温监控系统」· 代码 · 共 59 行

TXT
59
字号
#ifndef _USART_INCLUDED_
#define _USART_INCLUDED_
#include "common.h"
//延时函数ms(condition:11.0592M HSE)
void delay_ms(unsigned int time)
{
	unsigned char tres;
	for(;time>0;time--)
	{
		tres=150;
		while(tres--);
	}
}   

//串口初始化
void USART_Init()
{						 
	SCON=0X50;//串口:方式1,接受允许
	TMOD=0X20;//定时器1:模式2,8位自动重装模式,用于产生波特率 	  
	TH1=0XFD; //初值设定 9600bit
	TL1=0XFD;   
	TR1=1;    //开启定时器1				   
	//TI=1;//特别注意:强行使上次数据发送结束,才开始printf	(不信可以试试去掉本句试试) 
	EA=1;
}	  

void SendASC(uchar d)
{
	
	SBUF=d;
	while(!TI);
	TI=0;
}
void SendString(uchar *str)	
{
	while(*str)
	{
		SendASC(*str) ;
		str++;
	}
}


//  通讯中断接收程序   中断函数无返回值
void USART_Interrupt(void)  interrupt 4	  //放在这里 和放在main()里面是一样的
{
	EA=0; 
	flag=1;
   	if((RxPoint<RxBuf_N)&&RI) //必须判断RI是否为1
    {
    	RI=0;
    	RxBuf[RxPoint++]=SBUF;
    }
	RI=0;
	EA=1;
}

#endif     

⌨️ 快捷键说明

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