void uart0_init()
{
ES0 = 0;
tim2_init();
P2CR &= ~(0X01); //P2.0输入
P2PCR |= 0x01;
PCON = 0x00;
SCON = 0x60;
// SADDR = 0X01;
// SADEN = 0XFF;
REN = 1;
ES0 = 1;
TR2 = 1;
P2_0 = 0;
P2_1 = 0;
TI = 0;
RI = 0;
}
static void r_uart0_interrupt_receive_send(void) interrupt 4
{
if(RI == 1)
{
text_buff[rx_num] = SBUF;
RI = 0;
rx_num++;
}
if(rx_num == 8)
{
rx_num = 0;
R_UART0_Send(text_buff, 8);
}
}
unsigned short R_UART0_Send(uint8_t * const tx_buf, uint16_t tx_num)
{
int i = 0;
P2_0 = 1;
P2_1 = 1;
for(i = 0; i < tx_num; i++)
{
SBUF = tx_buf[i];
while(!TI);
TI = 0;
}
}
大佬们,帮我看看,我这个为什么接收数据时会时不时的有掉帧的情况出现啊 |