From 9366ed77a615addc3a845021ec7c36bbd3e69cf9 Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Wed, 1 Apr 2015 13:22:44 +0000 Subject: [PATCH] git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7841 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/ports/common/ARMCMx/nvic.c | 10 ++++++++++ os/hal/ports/common/ARMCMx/nvic.h | 1 + 2 files changed, 11 insertions(+) diff --git a/os/hal/ports/common/ARMCMx/nvic.c b/os/hal/ports/common/ARMCMx/nvic.c index 8c9217333..93e74ca82 100644 --- a/os/hal/ports/common/ARMCMx/nvic.c +++ b/os/hal/ports/common/ARMCMx/nvic.c @@ -85,4 +85,14 @@ void nvicSetSystemHandlerPriority(uint32_t handler, uint32_t prio) { SCB->SHP[handler] = NVIC_PRIORITY_MASK(prio); } +/** + * @brief Clears a pending interrupt source. + * + * @param[in] n the interrupt number + */ +void nvicClearPending(uint32_t n) { + + NVIC->ICPR[n >> 5] = 1 << (n & 0x1F); +} + /** @} */ diff --git a/os/hal/ports/common/ARMCMx/nvic.h b/os/hal/ports/common/ARMCMx/nvic.h index dca4afb79..636cba3b1 100644 --- a/os/hal/ports/common/ARMCMx/nvic.h +++ b/os/hal/ports/common/ARMCMx/nvic.h @@ -78,6 +78,7 @@ extern "C" { void nvicEnableVector(uint32_t n, uint32_t prio); void nvicDisableVector(uint32_t n); void nvicSetSystemHandlerPriority(uint32_t handler, uint32_t prio); + void nvicClearPending(uint32_t n); #ifdef __cplusplus } #endif