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

📄 serial.c

📁 51单片机_RTOS方式控制GSM模块TC35I源程序. 希望对大家有用。
💻 C
字号:

void Serial_Init()
{
	T2CON = 0x30 ;
	SCON = 0x50 ;
	RCAP2H = T2BAUDH ;
	RCAP2L = T2BAUDL ;
	TH2 = T2BAUDH ;
	TL2 = T2BAUDL ;
	TR2 = 1 ;
	ET2 = 0 ;
	ES = 1 ;
	PS = 1 ;
}

#pragma disable                                        /* 除非最高优先级中断,否则,必须加上这一句                 */
void Serial_Interrupt(void) interrupt 4
{
    uint8 data temp;
	if (RI == 1)
	{
        OS_INT_ENTER();
		RI = 0;
        OSQIntPost(SerialInData,SBUF);
        OSIntExit();
		return;
	}
	if (TI == 1)
	{
		TI = 0;
		if (OSQAccept(&temp,SerialOutData) == OS_Q_OK)
		{
		    SBUF = temp;
		}
		else
		{
		    SerialCanSend = 1;
		}
	}
}

void PutChar(uint8 Data)
{
    OS_ENTER_CRITICAL();
    if (SerialCanSend == 1)                         
    {
        SerialCanSend = 0;
        SBUF = Data;                                /* 串口空闲,直接发送   */
    }
    else
    {
        OSQIntPost(SerialOutData,Data);             /* 数据入队             */
    }
    OS_EXIT_CRITICAL();
}  


void PutString(uint8 *in,uint8 len) 
{
	uint8 i ;
	if(len == 0)	return ;
	for(i=0;i<len;i++)
	{
		PutChar(in[i]) ;
	}
}

void Set_HardReset()
{
	OSWait(K_TMO,100);
	OSWait(K_TMO,200);
	TC35IGT = 1 ;
	OSWait(K_TMO,100);
	OSWait(K_TMO,200);
	TC35IGT = 0 ;
	OSWait(K_TMO,100);
	OSWait(K_TMO,200);
	TC35IGT = 1 ;
	OSWait(K_TMO,100);
	OSWait(K_TMO,200);
	TC35IGT = 0 ;
}
/*
void Dialing_TC35(uint8 *in,uint8 len)
{
	PutString("ATD",3) ;
	PutString(in,len) ;
	PutString(";\r",2) ;
}

void GuaJiTC35()
{
	PutString("ATH\r",4) ;
}

void Send_DTMF_Tone()
{
	PutString("AT+VTS=A\r",9) ;
	OSWait(K_TMO,80);
	PutString("AT+VTS=A\r",9) ;
}

void Set_Save()
{
	PutString("AT&w\r",5) ;
}

void SetInterface2()
{
	PutString("AT^SNFS=3\r",10) ;
}

void Set_SoftReset()
{
	PutString("AT+CFUN=1,1\r",12) ;
}

void Set_Baud()
{
	PutString("AT+IPR=9600\r",12) ;
}

void CheckRegister()
{
	PutString("AT+CREG?\r",9) ;
}

void Set_Receive_Callid()
{
	PutString("AT+CLIP=1\r",10) ;
}
*/

⌨️ 快捷键说明

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