aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/ports/common/ARMCMx
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2015-04-01 13:22:44 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2015-04-01 13:22:44 +0000
commit9366ed77a615addc3a845021ec7c36bbd3e69cf9 (patch)
treea29612d76e2acc943e7dbe6c0221151656211256 /os/hal/ports/common/ARMCMx
parentbee88358cf88c94fbb55fb44cc0e183b6bf9f1af (diff)
downloadChibiOS-9366ed77a615addc3a845021ec7c36bbd3e69cf9.tar.gz
ChibiOS-9366ed77a615addc3a845021ec7c36bbd3e69cf9.tar.bz2
ChibiOS-9366ed77a615addc3a845021ec7c36bbd3e69cf9.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7841 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/hal/ports/common/ARMCMx')
-rw-r--r--os/hal/ports/common/ARMCMx/nvic.c10
-rw-r--r--os/hal/ports/common/ARMCMx/nvic.h1
2 files changed, 11 insertions, 0 deletions
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