📄 44b_isr_c.c
字号:
/******************************************************************************
Copyright (c) 2006 by RockOS.
All rights reserved.
This software is supported by the Rock Software Workroom only.
Any bugs please contact the author with e-mail or QQ:
E-mail : baobaoba520@yahoo.com.cn
QQ : 59681888
*******************************************************************************
File name : 44b_isr_c.c
Description : isr handler for QW44b0x.
:
:
Auther : sunxinqiu
History :
2006-03-15 first release.
******************************************************************************/
#include "bsp.h"
/******************************************************************************
Global var : unsigned int g_exception;
Description : to save the
:
******************************************************************************/
unsigned int g_exception;
/******************************************************************************
Function : void OnSwi()
Params : N/A
:
:
:
Return : N/A
Description : C code for SWI instruction.
:
******************************************************************************/
void OnSwi()
{
}
/******************************************************************************
Function : void OnTick()
Params : N/A
:
:
:
Return : N/A
Description : C code for Tick ISR.
:
******************************************************************************/
void OnTick()
{
OSOnTick();
}
/******************************************************************************
Function : void OnRxD0()
Params : N/A
:
:
:
Return : N/A
Description : C cod for UART RxD0 ISR.
:
******************************************************************************/
void OnRxD0()
{
unsigned char ch;
ch = RdURXH0();
OSOnKey(ch);
}
/******************************************************************************
Function : void Uerr01Handler()
Params : N/A
:
:
:
Return : N/A
Description : UART error ISR. This ISR never cause a task state change.
:
******************************************************************************/
void __irq OnUerr01Interrupt()
{
unsigned char ch;
/* channel 0*/
if ((rUERSTAT0&0x8)!= 0)
{
ch = RdURXH0();
UART_sendString(UART_CH0, "\nUART0: BREAK signal.\n");
}
else if ((rUERSTAT0&0x4)!= 0)
{
ch = RdURXH0();
UART_sendString(UART_CH0, "\nUART0: Frame error.\n");
}
else if ((rUERSTAT0&0x2)!= 0)
{
ch = RdURXH0();
UART_sendString(UART_CH0, "\nUART0: Parity error.\n");
}
else if ((rUERSTAT0&0x1)!= 0)
{
UART_sendString(UART_CH0, "UART0: Over run error.");
while ((rUTRSTAT0&0x1)!= 0)
{
ch = RdURXH0();
UART_sendChar(UART_CH0, ch);
}
}
/* channel 1*/
if ((rUERSTAT1&0x8)!= 0)
{
ch = RdURXH1();
UART_sendString(UART_CH0, "\nUART1: BREAK signal.\n");
}
else if ((rUERSTAT1&0x4)!= 0)
{
ch = RdURXH1();
UART_sendString(UART_CH0, "\nUART1: Frame error.\n");
}
else if ((rUERSTAT1&0x2)!= 0)
{
ch = RdURXH1();
UART_sendString(UART_CH0, "\nUART1: Parity error.\n");
}
else if ((rUERSTAT1&0x1)!= 0)
{
UART_sendString(UART_CH0, "UART1: Over run error.");
while ((rUTRSTAT1&0x1)!= 0)
{
ch = RdURXH1();
UART_sendChar(UART_CH0, ch);
}
}
rI_ISPC = BIT_UERR01;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -