NULL
This commit is contained in:
174
user/MCU/lhl_exti.c
Executable file → Normal file
174
user/MCU/lhl_exti.c
Executable file → Normal file
@@ -1,16 +1,13 @@
|
||||
#include "../main/SystemInclude.h"
|
||||
|
||||
|
||||
/**------------------------------------------------------------------------
|
||||
* @brief <20><EFBFBD><EFBFBD><EFBFBD> GPIO <20><><EFBFBD><EFBFBD>Ϊ<EFBFBD>ⲿ<EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @param EXTI_GPIOx: GPIO <20>˿<EFBFBD> (pGPIO0/pGPIO1/pGPIO2)
|
||||
* @param EXTI_PINx: GPIO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룬<EFBFBD><EBA3AC> GPIO_PIN_3
|
||||
* @param EXTI_LINEx: EXTI <20>ߺţ<DFBA><C5A3><EFBFBD> EXTI_LINE_3
|
||||
* @param EXTI_IRQx: <20><>Ӧ<EFBFBD><D3A6><EFBFBD>ж<EFBFBD> IRQ <20>ţ<EFBFBD><C5A3><EFBFBD> EXTI2_3_IRQn
|
||||
* @note <20>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>ʩ<EFBFBD><CAA9><EFBFBD>ش<EFBFBD><D8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* <20><><EFBFBD>ӵ<EFBFBD> EXTI <20>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><D8B4><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؿ<EFBFBD><D8BF>Ĵ<DEB8><C4B4>룩<EFBFBD><EBA3A9>
|
||||
* ע<>⣺<EFBFBD>жϵ<D0B6> NVIC ʹ<>ܺ<EFBFBD><DCBA><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD>͡<EFBFBD>
|
||||
* @example
|
||||
* GPIO_EXTI_Init(pGPIO0, GPIO_PIN_3, EXTI_LINE_3, EXTI2_3_IRQn);
|
||||
* @brief <20>ⲿ<EFBFBD>жϳ<EFBFBD>ʼ<EFBFBD><EFBFBD>
|
||||
* @note
|
||||
* @param
|
||||
* @example:
|
||||
GPIO_EXTI_Init(GPIO1,GPIO_PIN_7,EXTI_LINE_7,EXTI4_7_IRQn);
|
||||
GPIO_EXTI_Init(GPIO0,GPIO_PIN_3,EXTI_LINE_3,EXTI2_3_IRQn);
|
||||
GPIO_EXTI_Init(GPIO1,GPIO_PIN_0,EXTI_LINE_0,EXTI0_1_IRQn);
|
||||
**/
|
||||
void GPIO_EXTI_Init(GPIO_TypeDef* EXTI_GPIOx ,uint16_t EXTI_PINx ,EXTI_LINE_t EXTI_LINEx,IRQn_Type EXTI_IRQx)
|
||||
{
|
||||
@@ -30,124 +27,53 @@ void GPIO_EXTI_Init(GPIO_TypeDef* EXTI_GPIOx ,uint16_t EXTI_PINx ,EXTI_LINE_t EX
|
||||
/* 2. <20><><EFBFBD><EFBFBD>EXTI<54><49><EFBFBD><EFBFBD> */
|
||||
EXTI_InitStructure.Line = EXTI_LINEx;
|
||||
EXTI_InitStructure.Mode = EXTI_MODE_INTERRUPT; // EXTI<54>ж<EFBFBD>ģʽ
|
||||
EXTI_InitStructure.Trigger = EXTI_TRIGGER_RISING; // <20><><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><C2BD>ش<EFBFBD><D8B4><EFBFBD> EXTI_TRIGGER_RISING EXTI_TRIGGER_FALLING EXTI_TRIGGER_RISING_FALLING
|
||||
EXTI_InitStructure.Trigger = EXTI_TRIGGER_RISING_FALLING; // <20><><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><C2BD>ش<EFBFBD><D8B4><EFBFBD>
|
||||
EXTI_InitStructure.LineCmd = ENABLE; // ʹ<><CAB9>EXTI
|
||||
LHL_EXTI_Init(&EXTI_InitStructure); // <20><><EFBFBD><EFBFBD>EXTI
|
||||
|
||||
// NVIC_EnableIRQ(EXTI_IRQx); // <20><><EFBFBD><EFBFBD>NVIC<49>ж<EFBFBD>
|
||||
// NVIC_SetPriority(EXTI_IRQx, 0); // <20><><EFBFBD><EFBFBD>EXIT<49><54><EFBFBD>ȼ<EFBFBD>
|
||||
NVIC_EnableIRQ(EXTI_IRQx); // <20><><EFBFBD><EFBFBD>NVIC<49>ж<EFBFBD>
|
||||
NVIC_SetPriority(EXTI_IRQx, 0); // <20><><EFBFBD><EFBFBD>EXIT3<EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
|
||||
}
|
||||
|
||||
/**------------------------------------------------------------------------
|
||||
* @brief <20><><EFBFBD><EFBFBD> LPTIM <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>Ϊ EXTI <20>ж<EFBFBD>Դ
|
||||
* @param lptimer: LPTIM1 <20><> LPTIM2
|
||||
* @note LPTIM1 <20><>Ӧ EXTI_LINE_10<31><30>LPTIM2 <20><>Ӧ EXTI_LINE_11<31><31>
|
||||
* <20><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><D8B4><EFBFBD><EFBFBD>ж<EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD> LPTIM <20>¼<EFBFBD><C2BC><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>
|
||||
* @example LPTIM_EXTI_Init(LPTIM2);
|
||||
**/
|
||||
void LPTIM_EXTI_Init(LPTIM_TypeDef *lptimer)
|
||||
{
|
||||
EXTI_InitTypeDef EXTI_InitStructure;
|
||||
|
||||
if(lptimer == pLPTIM1) EXTI_InitStructure.Line = EXTI_LINE_10;
|
||||
else EXTI_InitStructure.Line = EXTI_LINE_11;
|
||||
EXTI_InitStructure.Mode = EXTI_MODE_INTERRUPT;
|
||||
EXTI_InitStructure.Trigger = EXTI_TRIGGER_RISING;
|
||||
EXTI_InitStructure.LineCmd = ENABLE;
|
||||
LHL_EXTI_Init(&EXTI_InitStructure);
|
||||
}
|
||||
|
||||
/**------------------------------------------------------------------------
|
||||
* @brief <20><><EFBFBD><EFBFBD> ADC <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD>ݾ<EFBFBD><DDBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ EXTI <20>ж<EFBFBD>Դ
|
||||
* @note ADC0 <20><> ADC1 <20>Ĺ<EFBFBD><C4B9><EFBFBD> EXTI_LINE_12<31><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><D8B4><EFBFBD><EFBFBD>ж<EFBFBD>ģʽ<C4A3><CABD>
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ADC ת<><D7AA><EFBFBD><EFBFBD><EFBFBD>ɻ<EFBFBD><C9BB><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>жϡ<D0B6>
|
||||
* @example ADC_EXTI_Init();
|
||||
**/
|
||||
void ADC_EXTI_Init(void)
|
||||
{
|
||||
|
||||
EXTI_InitTypeDef EXTI_InitStructure;
|
||||
|
||||
EXTI_InitStructure.Line = EXTI_LINE_12;
|
||||
EXTI_InitStructure.Mode = EXTI_MODE_INTERRUPT; // EXTI_MODE_EVENT
|
||||
EXTI_InitStructure.Trigger = EXTI_TRIGGER_RISING;
|
||||
EXTI_InitStructure.LineCmd = ENABLE;
|
||||
LHL_EXTI_Init(&EXTI_InitStructure);
|
||||
}
|
||||
|
||||
|
||||
/* (PVD<56><44>RTC<54><43>DMA <20><> EXTI <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɸ<EFBFBD><C9B8><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5>) */
|
||||
// EXTI_LINE_8 = 0x0100u, /*!< External interrupt line 8 PVD<56><44><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>ǣ<EFBFBD><C7A3><EFBFBD><EFBFBD><EFBFBD> */
|
||||
// EXTI_LINE_9 = 0x0200u, /*!< External interrupt line 9 RTC<54><43><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD> */
|
||||
// EXTI_LINE_13 = 0x2000u, /*!< External interrupt line 13 DMA<4D><41><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>жϵĻ<CFB5> */
|
||||
|
||||
//(void)PVD_EXTI_Init(void)
|
||||
//(void)RTC_EXTI_Init(void)
|
||||
//(void)DMA_EXTI_Init(void)
|
||||
|
||||
|
||||
|
||||
/*-=====================================================================================================
|
||||
//<2F>ⲿ<EFBFBD>жϻص<EFBFBD>
|
||||
//<2F>ж<EFBFBD>
|
||||
-=====================================================================================================*/
|
||||
|
||||
static exti_irq_callback_t exti_callbacks[EXTI_MAX_LINES] = {NULL};
|
||||
|
||||
/**------------------------------------------------------------------------
|
||||
* @brief ע<EFBFBD><EFBFBD> EXTI <20>ж<EFBFBD><D0B6>ߵĻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @param exti_linex: EXTI <20>ߺţ<DFBA><C5A3><EFBFBD> EXTI_LINE_3
|
||||
* @param exti_irq_callback: <20>û<EFBFBD><C3BB>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>루<EFBFBD><EFBFBD><DEB2><EFBFBD><EFBFBD><EFBFBD><DEB7><EFBFBD>ֵ<EFBFBD><D6B5>
|
||||
* @note ͬһ EXTI <20><>ֻ<EFBFBD><D6BB>ע<EFBFBD><D7A2>һ<EFBFBD><D2BB><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD>ظ<EFBFBD>ע<EFBFBD>Ὣ<EFBFBD><E1BDAB><EFBFBD><EFBFBD><EFBFBD>ԡ<EFBFBD>
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD>ߺ<EFBFBD><DFBA>Զ<EFBFBD>ʹ<EFBFBD>ܶ<EFBFBD>Ӧ<EFBFBD><D3A6> NVIC <20>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>룩 <20><>
|
||||
* @example
|
||||
* void my_exti_callback(void) { ... }
|
||||
* Exti_register_irq_callback(EXTI_LINE_3, my_exti_callback);
|
||||
**/
|
||||
* @brief <EFBFBD>жϻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
|
||||
* @note
|
||||
* @param
|
||||
* @example: void Exti_irq_callback(void){} Exti_register_irq_callback(EXTI_LINE_7,Exti_irq_callback);
|
||||
**/
|
||||
static exti_irq_callback_t exti_callbacks[EXTI_MAX_LINES] = {NULL};
|
||||
// ע<><D7A2><EFBFBD>ص<EFBFBD>
|
||||
void Exti_register_irq_callback(EXTI_LINE_t exti_linex, exti_irq_callback_t exti_irq_callback)
|
||||
{
|
||||
if (exti_linex == 0) return;//<2F><>ֹ<EFBFBD><D6B9>0 <20><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>EXTI_LINE_t<5F>IJ<EFBFBD><C4B2><EFBFBD>
|
||||
uint8_t index = (uint8_t)__builtin_ctz((unsigned int)exti_linex); //<2F><>ȡexti_linex <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(index >= EXTI_MAX_LINES) return;
|
||||
if(exti_callbacks[index] != NULL) return;
|
||||
|
||||
exti_callbacks[index] = exti_irq_callback;
|
||||
|
||||
switch (index) { //<2F><>ȡ EXTI <20>߶<EFBFBD>Ӧ<EFBFBD><D3A6> IRQ <20><>
|
||||
if (index >= EXTI_MAX_LINES) return;
|
||||
exti_callbacks[index] = exti_irq_callback;
|
||||
switch (index) { //<2F><>ȡ EXTI <20>߶<EFBFBD>Ӧ<EFBFBD><D3A6> IRQ <20><>
|
||||
case 0:
|
||||
case 1:
|
||||
NVIC_EnableIRQ(EXTI0_1_IRQn); NVIC_SetPriority(EXTI0_1_IRQn,0);
|
||||
|
||||
NVIC_EnableIRQ(EXTI0_1_IRQn);
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
NVIC_EnableIRQ(EXTI2_3_IRQn); NVIC_SetPriority(EXTI2_3_IRQn,0);
|
||||
NVIC_EnableIRQ(EXTI2_3_IRQn);
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
NVIC_EnableIRQ(EXTI4_7_IRQn); NVIC_SetPriority(EXTI4_7_IRQn,0);
|
||||
NVIC_EnableIRQ(EXTI4_7_IRQn);
|
||||
break;
|
||||
|
||||
case 10:
|
||||
case 11:
|
||||
NVIC_EnableIRQ(EXTI10_11_IRQn); NVIC_SetPriority(EXTI10_11_IRQn,0);
|
||||
break;
|
||||
|
||||
case 12:
|
||||
case 13:
|
||||
NVIC_EnableIRQ(EXTI12_13_IRQn); NVIC_SetPriority(EXTI12_13_IRQn,0);
|
||||
break;
|
||||
default:
|
||||
// <20><>֧<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD> <20><><EFBFBD><EFBFBD> 8 9
|
||||
// <20><>֧<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**------------------------------------------------------------------------
|
||||
* @brief EXTI0 <20><> EXTI1 <20><><EFBFBD><EFBFBD><EFBFBD>жϷ<D0B6><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @note <20>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD> EXTI0 <20><> EXTI1 <20><><EFBFBD>жϱ<D0B6>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD>Ļص<C4BB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
**/
|
||||
|
||||
void EXTI0_1_IRQHandler(void)
|
||||
{
|
||||
// <20><><EFBFBD><EFBFBD> EXTI0 <20><> EXTI1
|
||||
@@ -160,10 +86,7 @@ void EXTI0_1_IRQHandler(void)
|
||||
if (exti_callbacks[1]) exti_callbacks[1]();
|
||||
}
|
||||
}
|
||||
/**------------------------------------------------------------------------
|
||||
* @brief EXTI2 <20><> EXTI3 <20><><EFBFBD><EFBFBD><EFBFBD>жϷ<D0B6><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @note <20>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD> EXTI2 <20><> EXTI3 <20><><EFBFBD>жϱ<D0B6>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD>Ļص<C4BB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
**/
|
||||
|
||||
void EXTI2_3_IRQHandler(void)
|
||||
{
|
||||
if (LHL_EXTI_GetPending(EXTI_LINE_2) == SET) {
|
||||
@@ -175,10 +98,7 @@ void EXTI2_3_IRQHandler(void)
|
||||
if (exti_callbacks[3]) exti_callbacks[3]();
|
||||
}
|
||||
}
|
||||
/**------------------------------------------------------------------------
|
||||
* @brief EXTI4 <20><> EXTI7 <20><><EFBFBD><EFBFBD><EFBFBD>жϷ<D0B6><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @note ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> EXTI4~7 <20><><EFBFBD>жϱ<D0B6>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD>Ļص<C4BB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
**/
|
||||
|
||||
void EXTI4_7_IRQHandler(void)
|
||||
{
|
||||
for (int i = 4; i <= 7; i++) {
|
||||
@@ -188,38 +108,4 @@ void EXTI4_7_IRQHandler(void)
|
||||
if (exti_callbacks[i]) exti_callbacks[i]();
|
||||
}
|
||||
}
|
||||
}
|
||||
/**------------------------------------------------------------------------
|
||||
* @brief EXTI10 <20><> EXTI11 <20><><EFBFBD><EFBFBD><EFBFBD>жϷ<D0B6><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @note <20>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD> EXTI10 <20><> EXTI11 <20><><EFBFBD>жϱ<D0B6>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD>Ļص<C4BB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
**/
|
||||
void EXTI10_11_IRQHandler(void)
|
||||
{
|
||||
// <20><><EFBFBD><EFBFBD> EXTI0 <20><> EXTI1
|
||||
if (LHL_EXTI_GetPending(EXTI_LINE_10) == SET) {
|
||||
LHL_EXTI_ClearPending(EXTI_LINE_10);
|
||||
if (exti_callbacks[10]) exti_callbacks[10]();
|
||||
}
|
||||
if (LHL_EXTI_GetPending(EXTI_LINE_11) == SET) {
|
||||
LHL_EXTI_ClearPending(EXTI_LINE_11);
|
||||
if (exti_callbacks[11]) exti_callbacks[11]();
|
||||
}
|
||||
|
||||
}
|
||||
/**------------------------------------------------------------------------
|
||||
* @brief EXTI12 <20><> EXTI13 <20><><EFBFBD><EFBFBD><EFBFBD>жϷ<D0B6><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @note <20>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD> EXTI12 <20><> EXTI13 <20><><EFBFBD>жϱ<D0B6>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD>Ļص<C4BB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
**/
|
||||
void EXTI12_13_IRQHandler(void)
|
||||
{
|
||||
// <20><><EFBFBD><EFBFBD> EXTI0 <20><> EXTI1
|
||||
if (LHL_EXTI_GetPending(EXTI_LINE_12) == SET) {
|
||||
if (exti_callbacks[12]) exti_callbacks[12]();
|
||||
LHL_EXTI_ClearPending(EXTI_LINE_12);
|
||||
}
|
||||
else if (LHL_EXTI_GetPending(EXTI_LINE_13) == SET) {
|
||||
LHL_EXTI_ClearPending(EXTI_LINE_13);
|
||||
if (exti_callbacks[13]) exti_callbacks[13]();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user