浅夏星空
发表于 2025-3-3 11:55:26
第十七集串口的简单应用
#include "usart.h"
#include "io.h"
u8 Rec_Dat;
u8 Rec_Num = 0;
void Uart2_Isr(void) interrupt 8
{
if (S2CON & 0x02)
{
S2CON &= ~0x02;
}
if (S2CON & 0x01)
{
S2CON &= ~0x01;
Rec_Dat = S2BUF;
}
}
void Uart2_Init(void) //9600bps@24.000MHz
{
P_SW2 |= 0x01; //UART2/USART2: RxD2(P4.6), TxD2(P4.7)
S2CON = 0x50;
AUXR |= 0x04;
T2L = 0x8F;
T2H = 0xFD;
AUXR |= 0x10;
IE2 |= 0x01;
Rec_Num = 0;
}
void Usart2_RunTask(void)
{
if( Rec_Num >=6 )
{
if(( Rec_Dat == '\n' )&&( Rec_Dat == '\r' ))
{
if( ( Rec_Dat == 'O' )&&( Rec_Dat == 'P' )&&( Rec_Dat == 'E' )&&( Rec_Dat == 'N' ) )
{
passward = 16;
passward = 16;
passward = 16;
passward = 16;
}
else if( ( Rec_Dat == 'C' )&&( Rec_Dat == 'L' )&&( Rec_Dat == 'O' )&&( Rec_Dat == 'S' )&&( Rec_Dat == 'E' ) )
{
passward = 17;
passward = 17;
passward = 17;
passward = 17;
}
Rec_Num = 0;
}
}