⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 44b_isr_c.c

📁 介绍ROCK OS操作系统.一般用于汽车电子,类似OCVX.里面是个DEMO文档,内附说明.
💻 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 + -