📄 main.c
字号:
while(!TI);
TI = 0;
}
SBUF = temp;
while(!TI);
TI = 0;
SBUF = 59;
while(!TI);
TI = 0;
SBUF = 13;
while(!TI);
TI = 0;
kbBuff[0] = KB_VAL;
if((RAM_PAGE == 0X05) && (X_AXIS > 106))
{
RAM_PAGE = 0X02;
clearPage(RAM_PAGE++);
clearPage(RAM_PAGE++);
clearPage(RAM_PAGE++);
RAM_PAGE = 0X02;
X_AXIS = 0X04;
}
PAGE = RAM_PAGE;
RAM_PAGE = dispBigFontStr(PAGE, X_AXIS, kbBuff);
if((RAM_PAGE != PAGE) ||(X_AXIS > 106))
{
X_AXIS =0x04;
RAM_PAGE += 3;
clearPage(RAM_PAGE++);
clearPage(RAM_PAGE++);
clearPage(RAM_PAGE++);
RAM_PAGE -= 3;
}
else
X_AXIS += 12;
}
else{
if((KB_VAL < 0X0C) && (!ATVTS_FLAG))
{
if(KEY_COUNT == 0)
clearScreen();
KEY_BUFF[KEY_COUNT++] = KB_VAL;
}
if(KB_VAL == CANCER)
{
BUSY_FLAG = 0;
loop = 0;
while((loop < 0x03) && (KB_VAL == CANCER))
{
loop ++;
KB_VAL = 0;
delayMs(1);
KB_VAL = keyScan(); // check again and ath
KB_VAL = getKeyVal(KB_VAL);
}
if((KB_VAL == CANCER) && (loop >= 0x02))
{
REN = 0;
sendAtCmd(ath);
REN =1;
KEY_COUNT = 0;
RAM_PAGE = 0x02;
X_AXIS = 0x04;
clearScreen();
clearUartBuff();
dispBYD();
ATVTS_FLAG = 0;
}
else // delete
{
if(X_AXIS < 0X06)
{
RAM_PAGE -= 3;
X_AXIS = 124;
}
else
X_AXIS -= 12;
//sendAtCmd(ath);
KEY_COUNT--;
clearFont(RAM_PAGE, X_AXIS);
}
}
else
if(KB_VAL == ENTER)
{
BUSY_FLAG = 1;
if((CALL_FLAG == CALL_OUT) && (KEY_COUNT != 0)) //有按键且为ENTER
{
if(KEY_COUNT > KEY_BUFF_SIZE)
KEY_COUNT = KEY_BUFF_SIZE;
REN = 0;
clearUartBuff();
JUDGE_OK = 0;
JUDGE_ERROR = 0;
SEND_COUNT = strlen(atd);
i = 0;
while( i < SEND_COUNT)
{
SBUF = atd[i++];
while(!TI);
TI = 0;
}
i = 0;
while(i < KEY_COUNT)
{
SBUF = numLib[KEY_BUFF[i++]];
while(!TI);
TI = 0;
}
SBUF = 59;
while(!TI);
TI = 0;
SBUF = 13;
while(!TI);
TI = 0;
JUDGE_OK = 0;
clearUartBuff();
TALK_FLAG = 1;
KEY_COUNT = 0;
REN = 1;
CALL();
delayS(1);
// delayMs(1);
// while(!REC_FLAG);
STATUS_OK = 0;
while(!STATUS_OK)
{
LIST_CNT = UART_COUNT;
LOCATION = Index_BF(UART_BUFF, LIST_CNT,NOCARRIR);
LOCATION = Index_BF(UART_BUFF, LIST_CNT, ERR);
if(LOCATION)
{
BUSY_FLAG = 0;
JUDGE_ERROR = 0;
STATUS_OK = 1;
clearScreen();
dispBYD();
}
else
{
LIST_CNT = UART_BUFF_SIZE;
// while(JUDGE_OK == 0)
JUDGE_OK = Index_BF(UART_BUFF, LIST_CNT, call0);
REN = 0;
JUDGE_OK = UART_BUFF[++JUDGE_OK];
REN = 1;
if(JUDGE_OK == '1')
{
clearPage(0);
clearPage(1);
dispTalking();
STATUS_OK = 1;
ATVTS_FLAG = 1;
}
}
/* if(JUDGE_ERROR)
{
REN = 0;
JUDGE_ERROR = 0;
LOCATION = 0;
LOCATION = Index_BF(UART_BUFF, LIST_CNT, NOCARRIR);
// for(ret=0;ret<UART_BUFF_SIZE;ret++)
// if(REC_JUDGE_NO)
if(LOCATION != 0)
{
ATVTS_FLAG = 0;
STATUS_OK = 1;
clearScreen();
dispBYD();
}
LOCATION = 0;
LOCATION = Index_BF(UART_BUFF, LIST_CNT, ERR);
if(LOCATION)
{
ATVTS_FLAG = 1;
STATUS_OK = 1;
clearScreen();
dispBYD();
}
REN = 1;
}*/
}
}
/* else
if(KB_VAL == NEXT)
{
if(X_AXIS > 107)
{
RAM_PAGE += 3;
X_AXIS = 0X04;
}
else
X_AXIS += 12;
}
*/
else
if(CALL_FLAG == CALL_IN)
{
sendAtCmd(ata);
clearPage(0);
clearPage(1);
dispTalking();
clearUartBuff();
CALL_FLAG = CALL_OUT;
// ATVTS_FLAG = 0;
RAM_PAGE = 0x02;
X_AXIS = 0x04;
}
KEY_COUNT = 0;
// RAM_PAGE = 0x02;
// X_AXIS = 0x04;
}
else
if(KB_VAL == 0X00)
{
CALL_FLAG = CALL_OUT;
kbBuff[0]= 0X00;
if(X_AXIS > 0x77)
{
RAM_PAGE += 3;
X_AXIS = 0x04;
}
dispBigFont(RAM_PAGE, X_AXIS, table0);
X_AXIS += 12;
/* if(ATVTS_FLAG)
{
sendAtCmd(vts);
kbBuff[0] = numLib[0];
sendAtCmd(kbBuff);
}*/
}
else
if((KB_VAL > 0) && (KB_VAL < 0X0C))
{
CALL_FLAG = CALL_OUT;
REN = 0;
kbBuff[0] = KB_VAL;
if((RAM_PAGE == 0X05) && (X_AXIS > 106))
{
RAM_PAGE =0X02;
clearPage(RAM_PAGE++);
clearPage(RAM_PAGE++);
clearPage(RAM_PAGE++);
RAM_PAGE = 0X02;
X_AXIS = 0X04;
}
// PAGE = RAM_PAGE;
PAGE = dispBigFontStr(RAM_PAGE, X_AXIS, kbBuff);
if((PAGE != RAM_PAGE) ||(X_AXIS > 106))
{
X_AXIS = 0x04;
RAM_PAGE += 3;
clearPage(RAM_PAGE++);
clearPage(RAM_PAGE++);
clearPage(RAM_PAGE++);
RAM_PAGE -= 3;
}
else
X_AXIS += 12;
REN = 1;
/* if(ATVTS_FLAG)
{
sendAtCmd(vts);
kbBuff[0] = numLib[KB_VAL];
sendAtCmd(kbBuff);// PutChar(KB_VAL);
}*/
}
}
}
}
}
/***************************************************************************
串口中断程序
****************************************************************************/
void SERIAL(void) interrupt 4 using 3
{
UINT8 i , cnt;
if(RI)
{
cnt = SBUF;
RI =0;
UART_BUFF[UART_COUNT++] = cnt;
if('K' == cnt)
JUDGE_OK = 1;
i = UART_COUNT - 1;
if((UART_BUFF[i] == 0X0A) &&
(UART_BUFF[--i] == 0X0D) &&
(UART_BUFF[--i] != 0x0D))
{
REC_FLAG =0x01;
}
if('G' == cnt)
STATUS_FLAG = 1;
if(('R' == cnt) || ('N' == cnt))
JUDGE_ERROR = 1;
if(UART_COUNT > UART_BUFF_SIZE)
{
BUFF_FULL = 0;
UART_COUNT = 0;
}
else
BUFF_FULL = 1;
}
}
void TIME0(void) interrupt 1 using 1
{
UINT8 temp = 0;
TR0 = 0;
TH0 = 0X3c;
TL0 = 0Xaf;
INT_NESTING++;
CHECK_SIGNAL++;
if(INT_NESTING >= 5)
{
//temp = Index_BF(UART_BUFF, UART_COUNT, NOCARRIR);
if(temp)
{
clearScreen();
}
INT_NESTING = 0;
STATUS_OK = 1;
}
if(CHECK_SIGNAL >= 0Xffe)
{
CHECK_SIGNAL = 0;
JUDGE_OK = 1;
CHECK_SIGNAL_FLAG = 1;
}
TR0 = 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -