📄 uart1.c
字号:
void TXRERE1()
{
uchar i;
uint j;
RX_DATA[0]=U1RXBUF;
if(RX_DATA[0] == 0xaa)
{
while (!(IFG2 & URXIFG1));
RX_DATA[1] = U1RXBUF;
if(RX_DATA[1] == 0x04)
{
while (!(IFG2 & URXIFG1));
for(i=2;i<8;i++)
{
RX_DATA[i]=U1RXBUF;
if(i!=7)
{
while (!(IFG2 & URXIFG1));
}
}
}
j = 0;
for(i=0; i<7; i++)
{
j += RX_DATA[i];
}
j &= 0xff;
if(j == RX_DATA[7])
{
if(FLAG & gb_card)
{
if(RX_DATA[6] == 0X08)
{
FLAG2 |= gb_addynom;
}
else if(RX_DATA[6] == 0X04)
{
FLAG2 |= gb_addyvip;
}
card_buf[0] = RX_DATA[2];
card_buf[1] = RX_DATA[3];
card_buf[2] = RX_DATA[4];
card_buf[3] = RX_DATA[5];
card_buf[4] = 0XFF;
clk_20s = 10;
FLAG |= gb_lock;
}
else
{
cardyao = RX_DATA[2];
cardyao <<= 8;
cardyao |= RX_DATA[3];
cardyao <<= 8;
j = RX_DATA[4];
j <<= 8;
j |= RX_DATA[5];
cardyao |= j;
FLAG2 |= gb_cardyao;
}
}
}
}
//------------------------------------------------------------------------------
//UART1程序
//------------------------------------------------------------------------------
#pragma vector=UART1RX_VECTOR
__interrupt void usart1_rx (void)
{
_DINT();
TXRERE1();
_EINT();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -