📄 inthandler.c
字号:
//#include <app_cfg.h>
#include <includes.h>
//#include <bsp.h>
//#include <net.h>
/*******************************************************************************
* Function Name : USART1_IRQHandler
* Description : This function handles USART1 global interrupt request.
* Input : None
* Output : None
* Return : None
*******************************************************************************/
void USART0_IRQHandler(void)
{
char c;
unsigned long ulStatus;
ulStatus = UARTIntStatus(UART0_BASE, true); // 读取当前中断状态
UARTIntClear(UART0_BASE, ulStatus); // 清除中断状态
/* if ((ulStatus & UART_INT_RX) || (ulStatus & UART_INT_RT)) // 若是接收中断或者
{ // 接收超时中断
for (;;)
{
if (!UARTCharsAvail(UART0_BASE))
break; // 若接收FIFO里无字符则跳出
c = UARTCharNonBlockingGet(UART0_BASE); // 从接收FIFO里读取字符
if (c == '\r' || c == '\n')
{
UARTCharPut(UART0_BASE, '\r'); // 回显回车换行<CR><LF>
UARTCharPut(UART0_BASE, '\n');
RxEndFlag = true; // 接收结束标志置位
break;
}else if(c == '\b') {
if(RxIn != RxBuf){
RxIn--;
UARTCharPut(UART0_BASE,'\b');
UARTCharPut(UART0_BASE,' ');
UARTCharPut(UART0_BASE,'\b');
}
}else{
if (RxIn < RxBuf + MAX_SIZE)
{
UARTCharPut(UART0_BASE, c); // 回显
*RxIn++ = c;
if(RxIn == RxBuf + MAX_SIZE)
RxIn = RxBuf;
}
}
}
}*/
if (ulStatus & UART_INT_TX) // 若是发送中断
{
// tBoolean tbool;
// for(;;)
// {
// if(!UARTSpaceAvail(UART0_BASE))
// break;
// TxStartFlag = true;
// if(TxOut != TxIn){
int i;
unsigned char s[20];
sprintf(s,"hello,world!");
for(i=0;s[i]!='\0';i++)
UARTCharNonBlockingPut(UART0_BASE,s[i]);
/* if(tbool == true){
TxOut++;
if(TxOut == TxBuf + MAX_SIZE)
TxOut = TxBuf;
}
else
break;
}else{
TxIn = TxOut = TxBuf;
break;
}
}
} */
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -