move mcu cmsis file to /mcu
This commit is contained in:
95
mcu/lpc13uxx/LPC13Uxx_DriverLib/src/nmi.c
Normal file
95
mcu/lpc13uxx/LPC13Uxx_DriverLib/src/nmi.c
Normal file
@@ -0,0 +1,95 @@
|
||||
/****************************************************************************
|
||||
* $Id:: nmi.c 7227 2011-04-27 20:20:38Z usb01267 $
|
||||
* Project: NXP LPC13Uxx NMI interrupt example
|
||||
*
|
||||
* Description:
|
||||
* This file contains NMI interrupt handler code example.
|
||||
*
|
||||
****************************************************************************
|
||||
* Software that is described herein is for illustrative purposes only
|
||||
* which provides customers with programming information regarding the
|
||||
* products. This software is supplied "AS IS" without any warranties.
|
||||
* NXP Semiconductors assumes no responsibility or liability for the
|
||||
* use of the software, conveys no license or title under any patent,
|
||||
* copyright, or mask work right to the product. NXP Semiconductors
|
||||
* reserves the right to make changes in the software without
|
||||
* notification. NXP Semiconductors also make no representation or
|
||||
* warranty that such application will be suitable for the specified
|
||||
* use without further testing or modification.
|
||||
* Permission to use, copy, modify, and distribute this software and its
|
||||
* documentation is hereby granted, under NXP Semiconductors'
|
||||
* relevant copyright in the software, without fee, provided that it
|
||||
* is used in conjunction with NXP Semiconductors microcontrollers. This
|
||||
* copyright, permission, and disclaimer notice must appear in all copies of
|
||||
* this code.
|
||||
****************************************************************************/
|
||||
#include "LPC13Uxx.h"
|
||||
#include "nmi.h"
|
||||
|
||||
#if NMI_ENABLED
|
||||
volatile uint32_t NMI_Counter[MAX_NMI_NUM];
|
||||
|
||||
/*****************************************************************************
|
||||
** Function name: NMI_Handler
|
||||
**
|
||||
** Descriptions: NMI interrupt handler
|
||||
** parameters: None
|
||||
**
|
||||
** Returned value: None
|
||||
**
|
||||
*****************************************************************************/
|
||||
void NMI_Handler( void )
|
||||
{
|
||||
uint32_t regVal;
|
||||
|
||||
regVal = LPC_SYSCON->NMISRC;
|
||||
regVal &= ~0x80000000;
|
||||
if ( regVal < MAX_NMI_NUM )
|
||||
{
|
||||
if ( regVal == CT16B0_IRQn )
|
||||
{
|
||||
/* Use TIMER16_0_IRQHandler as example for real application. */
|
||||
LPC_CT16B0->IR = 0xFF; /* Clear timer16_0 interrupt */
|
||||
}
|
||||
else if ( regVal == CT16B1_IRQn )
|
||||
{
|
||||
/* Use TIMER16_1_IRQHandler as example for real application. */
|
||||
LPC_CT16B1->IR = 0xFF; /* Clear timer16_1 interrupt */
|
||||
}
|
||||
else if ( regVal == CT32B0_IRQn )
|
||||
{
|
||||
/* Use TIMER32_0_IRQHandler as example for real application. */
|
||||
LPC_CT32B0->IR = 0xFF; /* Clear timer32_0 interrupt */
|
||||
}
|
||||
else if ( regVal == CT32B1_IRQn )
|
||||
{
|
||||
/* Use TIMER32_0_IRQHandler as example for real application. */
|
||||
LPC_CT32B1->IR = 0xFF; /* Clear timer32_1 interrupt */
|
||||
}
|
||||
NMI_Counter[regVal]++;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
** Function name: NMI_Init
|
||||
**
|
||||
** Descriptions: NMI initialization
|
||||
** parameters: NMI number
|
||||
**
|
||||
** Returned value: None
|
||||
**
|
||||
*****************************************************************************/
|
||||
void NMI_Init( uint32_t NMI_num )
|
||||
{
|
||||
uint32_t i;
|
||||
|
||||
for ( i = 0; i < MAX_NMI_NUM; i++ )
|
||||
{
|
||||
NMI_Counter[i] = 0x0;
|
||||
}
|
||||
LPC_SYSCON->NMISRC = 0x80000000|NMI_num;
|
||||
return;
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user