|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
static void Serial0(void)interrupt 4 using 1
{
unsigned char temp,head;
if(_testbit_(RI))
{
temp = SBUF;
head = RBUF_NEXT_PT(uart.rx.head,sizeof(uart_rx_buf));
if(head != uart.rx.tail)
{
uart_rx_buf[uart.rx.head] = temp;
uart.rx.head = head;
}else
{
uart.rx.error = 1;
}
}
if(_testbit_(TI))
{
if(uart.tx.head == uart.tx.tail)
{
uart.tx.busy = 0;
}else
{
SBUF = uart_tx_buf[uart.tx.tail];
uart.tx.tail = RBUF_NEXT_PT(uart.tx.tail,sizeof(uart_tx_buf));
}
}
} |
|