📄 bsp_int.c
字号:
/*
*********************************************************************************************************
* MICIRUM BOARD SUPPORT PACKAGE
*
* (c) Copyright 2007-2008; Micrium, Inc.; Weston, FL
*
* All rights reserved. Protected by international copyright laws.
* Knowledge of the source code may not be used to write a similar
* product. This file may only be used in accordance with a license
* and should not be redistributed in any way.
*********************************************************************************************************
*/
/*
*********************************************************************************************************
*
* BOARD SUPPORT PACKAGE
*
* ST Microelectronics STM32
* with the
* STM3210B-EVAL Evaluation Board
*
* Filename : bsp_int.c
* Version : V1.00
* Programmer(s) : BAN
*********************************************************************************************************
*/
/*
*********************************************************************************************************
* INCLUDE FILES
*********************************************************************************************************
*/
#define BSP_INT_MODULE
#include <bsp.h>
/*
*********************************************************************************************************
* LOCAL DEFINES
*********************************************************************************************************
*/
#define BSP_INT_SRC_NBR 42
/*
*********************************************************************************************************
* LOCAL CONSTANTS
*********************************************************************************************************
*/
/*
*********************************************************************************************************
* LOCAL DATA TYPES
*********************************************************************************************************
*/
/*
*********************************************************************************************************
* LOCAL TABLES
*********************************************************************************************************
*/
static CPU_FNCT_VOID BSP_IntVectTbl[BSP_INT_SRC_NBR];
/*
*********************************************************************************************************
* LOCAL GLOBAL VARIABLES
*********************************************************************************************************
*/
/*
*********************************************************************************************************
* LOCAL FUNCTION PROTOTYPES
*********************************************************************************************************
*/
static void BSP_IntHandler (CPU_DATA int_id);
static void BSP_IntHandlerDummy(void);
static void UART2_ISR(void);
/*
*********************************************************************************************************
* LOCAL CONFIGURATION ERRORS
*********************************************************************************************************
*/
/*
*********************************************************************************************************
* BSP_IntClr()
*
* Description : Clear interrupt.
*
* Argument(s) : int_id Interrupt to clear.
*
* Return(s) : none.
*
* Caller(s) : Application.
*
* Note(s) : (1) An interrupt does not need to be cleared within the interrupt controller.
*********************************************************************************************************
*/
void BSP_IntClr (CPU_DATA int_id)
{
}
/*
*********************************************************************************************************
* BSP_IntDis()
*
* Description : Disable interrupt.
*
* Argument(s) : int_id Interrupt to disable.
*
* Return(s) : none.
*
* Caller(s) : Application.
*
* Note(s) : none.
*********************************************************************************************************
*/
void BSP_IntDis (CPU_DATA int_id)
{
if (int_id < BSP_INT_SRC_NBR) {
CPU_IntSrcDis(int_id + 16);
}
}
/*
*********************************************************************************************************
* BSP_IntDisAll()
*
* Description : Disable ALL interrupts.
*
* Argument(s) : none.
*
* Return(s) : none.
*
* Caller(s) : Application.
*
* Note(s) : none.
*********************************************************************************************************
*/
void BSP_IntDisAll (void)
{
CPU_IntDis();
}
/*
*********************************************************************************************************
* BSP_IntEn()
*
* Description : Enable interrupt.
*
* Argument(s) : int_id Interrupt to enable.
*
* Return(s) : none.
*
* Caller(s) : Application.
*
* Note(s) : none.
*********************************************************************************************************
*/
void BSP_IntEn (CPU_DATA int_id)
{
if (int_id < BSP_INT_SRC_NBR) {
CPU_IntSrcEn(int_id + 16);
}
}
/*
*********************************************************************************************************
* BSP_IntVectSet()
*
* Description : Assign ISR handler.
*
* Argument(s) : int_id Interrupt for which vector will be set.
*
* isr Handler to assign
*
* Return(s) : none.
*
* Caller(s) : Application.
*
* Note(s) : none.
*********************************************************************************************************
*/
void BSP_IntVectSet (CPU_DATA int_id,
CPU_FNCT_VOID isr)
{
#if (CPU_CFG_CRITICAL_METHOD == CPU_CRITICAL_METHOD_STATUS_LOCAL)
CPU_SR cpu_sr;
#endif
if (int_id < BSP_INT_SRC_NBR) {
CPU_CRITICAL_ENTER();
BSP_IntVectTbl[int_id] = isr;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -