AVR 单片机UART以查询、中断方式发送数据
--------------
*/
return 1;
}
else
return 0;
}
//------------方式一 缓冲空中断--------------------------------------
#pragma vector = USART0_UDRE_vect
__interrupt void UsartUDRE(void) //串口缓冲器空中断函数声明
{
if(UART_OutLen>0)
{
UDR0=UART_RxTx[TXRX_IndexR];
--UART_OutLen;
if(++TXRX_IndexR >= TXRXBUF_SIZE)
{
TXRX_IndexR=0;//FIFO回头
}
}
else //发送结束
{
//UART_OutLen=TXRX_IndexR=TXRX_IndexW=0;
UCSR0B &= ~(1
}
//----------------------end 方式一 ------------------------------------
/*
//------------方式二 发送结束中断--------------------------------------
#pragma vector = USART0_TX_vect
__interrupt void UsartTx(void) //串口发送结束中断函数声明
{
if(UART_OutLen>0)
{
UDR0=UART_RxTx[TXRX_IndexR];
--UART_OutLen;
if(++TXRX_IndexR >= TXRXBUF_SIZE)
{
TXRX_IndexR=0;//FIFO回头
}
}
else //发送结束
{
//UART_OutLen=TXRX_IndexR=TXRX_IndexW=0;
UCSR0B &= ~(1
}
//----------------------end 方式二 ------------------------------------
*/
#endif
//----------------------------------------------------end---------------------------------------------------------------------
AVR单片机UART查询中断方式发送数 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)