From df737bb92e7ff5f5c7495c06d0e231338805a86c Mon Sep 17 00:00:00 2001 From: guanjiao <sqrgj@163.com> Date: 星期三, 16 五月 2018 23:19:20 +0800 Subject: [PATCH] 从工程中删除platform中相关文件 --- 源码/核心板/Src/ExternalDevices/dw_driver.c | 64 +++++++++++++++++++++++++++++++ 1 files changed, 63 insertions(+), 1 deletions(-) diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/dw_driver.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/dw_driver.c" index 62b7c23..6c030b9 100644 --- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/dw_driver.c" +++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/dw_driver.c" @@ -1,5 +1,4 @@ #include "dw_driver.h" -#include "deca_sleep.h" void Reset_DW1000(void) { @@ -54,3 +53,66 @@ EXTI_Init(&EXTI_InitStructure); } + +//读取外部中断状态 + + +//使能外部中断 +void Enable_Ext_IRQ(void) +{ + NVIC_EnableIRQ(DECAIRQ_EXTI_IRQn); +} + +//禁止外部中断 +void Disable_Ext_IRQ(void) +{ + NVIC_DisnableIRQ(DECAIRQ_EXTI_IRQn); +} + +/*! ------------------------------------------------------------------------------------------------------------------ + * Function: decamutexon() + * + * Description: This function should disable interrupts. This is called at the start of a critical section + * It returns the irq state before disable, this value is used to re-enable in decamutexoff call + * + * Note: The body of this function is defined in deca_mutex.c and is platform specific + * + * input parameters: + * + * output parameters + * + * returns the state of the DW1000 interrupt + */ +decaIrqStatus_t decamutexon(void) +{ + decaIrqStatus_t s = port_GetEXT_IRQStatus(); + + if(s) + { + port_DisableEXT_IRQ(); //disable the external interrupt line + } + return s ; // return state before disable, value is used to re-enable in decamutexoff call +} + +/*! ------------------------------------------------------------------------------------------------------------------ + * Function: decamutexoff() + * + * Description: This function should re-enable interrupts, or at least restore their state as returned(&saved) by decamutexon + * This is called at the end of a critical section + * + * Note: The body of this function is defined in deca_mutex.c and is platform specific + * + * input parameters: + * @param s - the state of the DW1000 interrupt as returned by decamutexon + * + * output parameters + * + * returns the state of the DW1000 interrupt + */ +void decamutexoff(decaIrqStatus_t s) // put a function here that re-enables the interrupt at the end of the critical section +{ + if(s) //need to check the port state as we can't use level sensitive interrupt on the STM ARM + { + port_EnableEXT_IRQ(); + } +} \ No newline at end of file -- Gitblit v1.9.3