?? serial.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 + -