|
#include "key.h"
void GPIO_IRQHandler(void)
{
if(SET == LL_EXTI_IsActiveFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_0))
{
DBG_print("0");
LL_EXTI_ClearFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_0);
if(LINE_0_N){}
if(LINE_0_P){}
}
if(SET == LL_EXTI_IsActiveFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_1))
{
DBG_print("1");
LL_EXTI_ClearFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_1);
if(LINE_1_N){}
if(LINE_1_P){}
}
if(SET == LL_EXTI_IsActiveFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_2))
{
DBG_print("2");
LL_EXTI_ClearFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_2);
if(LINE_2_N){}
if(LINE_2_P){}
}
if(SET == LL_EXTI_IsActiveFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_3))
{
DBG_print("3");
LL_EXTI_ClearFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_3);
if(LINE_3_N){}
if(LINE_3_P){}
}
if(SET == LL_EXTI_IsActiveFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_4))
{
DBG_print("4");
LL_EXTI_ClearFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_4);
if(LINE_4_N){}
if(LINE_4_P){}
}
if(SET == LL_EXTI_IsActiveFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_5))
{
DBG_print("5");
LL_EXTI_ClearFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_5);
if(LINE_5_N){}
if(LINE_5_P){}
}
if(SET == LL_EXTI_IsActiveFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_6))
{
DBG_print("6");
LL_EXTI_ClearFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_6);
if(LINE_6_N){}
if(LINE_6_P){}
}
if(SET == LL_EXTI_IsActiveFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_7))
{
DBG_print("7");
LL_EXTI_ClearFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_7);
if(LINE_7_N){}
if(LINE_7_P){}
}
if(SET == LL_EXTI_IsActiveFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_8))
{
DBG_print("8");
LL_EXTI_ClearFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_8);
if(LINE_8_N){}
if(LINE_8_P){}
}
if(SET == LL_EXTI_IsActiveFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_9))
{
DBG_print("9");
LL_EXTI_ClearFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_9);
if(LINE_9_N){}
if(LINE_9_P){}
}
}
void KEY_GPIO_Init(void)
{
LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
// LL_RCC_Enable_SleepmodeExternalInterrupt();
// LL_RCC_SetEXTIClockSource(LL_RCC_EXTERNAL_INTERRUPT_SAMPLING_CLOCK_SELECT_LSCLK);
LL_RCC_SetEXTIClockSource(LL_RCC_EXTERNAL_INTERRUPT_SAMPLING_CLOCK_SELECT_HCLK);
LL_RCC_Group1_EnableOperationClock(LL_RCC_OPERATION1_CLOCK_EXTI);
GPIO_InitStruct.Pin = LINE_0_PIN;
GPIO_InitStruct.Mode = LL_GPIO_MODE_INPUT;
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_OPENDRAIN;
GPIO_InitStruct.Pull = ENABLE;
LL_GPIO_Init(LINE_0_GPIO, &GPIO_InitStruct);
LL_EXTI_SetTrigEdge(GPIO_COMMON, LL_GPIO_EXTI_LINE_0, LL_GPIO_EXTI_TRIGGER_NONE);
LL_GPIO_SetExitLine0(GPIO_COMMON, LL_GPIO_EXTI_LINE_0_PA0);
// LL_GPIO_SetExitLine0(GPIO_COMMON, LL_GPIO_EXTI_LINE_0_PA1);
// LL_GPIO_SetExitLine0(GPIO_COMMON, LL_GPIO_EXTI_LINE_0_PA2);
// LL_GPIO_SetExitLine0(GPIO_COMMON, LL_GPIO_EXTI_LINE_0_PA3);
LL_EXTI_EnableDigitalFilter(GPIO_COMMON, LL_GPIO_EXTI_LINE_0);
LL_EXTI_SetTrigEdge(GPIO_COMMON, LL_GPIO_EXTI_LINE_0, LL_GPIO_EXTI_TRIGGER_BOTHEDGE);
LL_EXTI_ClearFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_0);
GPIO_InitStruct.Pin = LINE_1_PIN;
GPIO_InitStruct.Mode = LL_GPIO_MODE_INPUT;
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_OPENDRAIN;
GPIO_InitStruct.Pull = ENABLE;
LL_GPIO_Init(LINE_1_GPIO, &GPIO_InitStruct);
LL_EXTI_SetTrigEdge(GPIO_COMMON, LL_GPIO_EXTI_LINE_1, LL_GPIO_EXTI_TRIGGER_NONE);
LL_GPIO_SetExitLine1(GPIO_COMMON, LL_GPIO_EXTI_LINE_1_PA4);
// LL_GPIO_SetExitLine1(GPIO_COMMON, LL_GPIO_EXTI_LINE_1_PA5);
// LL_GPIO_SetExitLine1(GPIO_COMMON, LL_GPIO_EXTI_LINE_1_PA6);
// LL_GPIO_SetExitLine1(GPIO_COMMON, LL_GPIO_EXTI_LINE_1_PA7);
LL_EXTI_EnableDigitalFilter(GPIO_COMMON, LL_GPIO_EXTI_LINE_1);
LL_EXTI_SetTrigEdge(GPIO_COMMON, LL_GPIO_EXTI_LINE_1, LL_GPIO_EXTI_TRIGGER_BOTHEDGE);
LL_EXTI_ClearFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_1);
GPIO_InitStruct.Pin = LINE_2_PIN;
GPIO_InitStruct.Mode = LL_GPIO_MODE_INPUT;
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_OPENDRAIN;
GPIO_InitStruct.Pull = DISABLE;
LL_GPIO_Init(LINE_2_GPIO, &GPIO_InitStruct);
LL_EXTI_SetTrigEdge(GPIO_COMMON, LL_GPIO_EXTI_LINE_2, LL_GPIO_EXTI_TRIGGER_NONE);
// LL_GPIO_SetExitLine2(GPIO_COMMON, LL_GPIO_EXTI_LINE_2_PA8);
// LL_GPIO_SetExitLine2(GPIO_COMMON, LL_GPIO_EXTI_LINE_2_PA9);
LL_GPIO_SetExitLine2(GPIO_COMMON, LL_GPIO_EXTI_LINE_2_PA10);
// LL_GPIO_SetExitLine2(GPIO_COMMON, LL_GPIO_EXTI_LINE_2_PA11);
LL_EXTI_EnableDigitalFilter(GPIO_COMMON, LL_GPIO_EXTI_LINE_2);
LL_EXTI_SetTrigEdge(GPIO_COMMON, LL_GPIO_EXTI_LINE_2, LL_GPIO_EXTI_TRIGGER_BOTHEDGE);
LL_EXTI_ClearFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_2);
GPIO_InitStruct.Pin = LINE_3_PIN;
GPIO_InitStruct.Mode = LL_GPIO_MODE_INPUT;
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_OPENDRAIN;
GPIO_InitStruct.Pull = ENABLE;
LL_GPIO_Init(LINE_3_GPIO, &GPIO_InitStruct);
LL_EXTI_SetTrigEdge(GPIO_COMMON, LL_GPIO_EXTI_LINE_3, LL_GPIO_EXTI_TRIGGER_NONE);
LL_GPIO_SetExitLine3(GPIO_COMMON, LL_GPIO_EXTI_LINE_3_PA12);
// LL_GPIO_SetExitLine3(GPIO_COMMON, LL_GPIO_EXTI_LINE_3_PA13);
// LL_GPIO_SetExitLine3(GPIO_COMMON, LL_GPIO_EXTI_LINE_3_PA14);
// LL_GPIO_SetExitLine3(GPIO_COMMON, LL_GPIO_EXTI_LINE_3_PA15);
LL_EXTI_EnableDigitalFilter(GPIO_COMMON, LL_GPIO_EXTI_LINE_3);
LL_EXTI_SetTrigEdge(GPIO_COMMON, LL_GPIO_EXTI_LINE_3, LL_GPIO_EXTI_TRIGGER_BOTHEDGE);
LL_EXTI_ClearFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_3);
GPIO_InitStruct.Pin = LINE_4_PIN;
GPIO_InitStruct.Mode = LL_GPIO_MODE_INPUT;
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_OPENDRAIN;
GPIO_InitStruct.Pull = ENABLE;
LL_GPIO_Init(LINE_4_GPIO, &GPIO_InitStruct);
LL_EXTI_SetTrigEdge(GPIO_COMMON, LL_GPIO_EXTI_LINE_4, LL_GPIO_EXTI_TRIGGER_NONE);
// LL_GPIO_SetExitLine4(GPIO_COMMON, LL_GPIO_EXTI_LINE_4_PB0);
// LL_GPIO_SetExitLine4(GPIO_COMMON, LL_GPIO_EXTI_LINE_4_PB1);
LL_GPIO_SetExitLine4(GPIO_COMMON, LL_GPIO_EXTI_LINE_4_PB2);
// LL_GPIO_SetExitLine4(GPIO_COMMON, LL_GPIO_EXTI_LINE_4_PB3);
LL_EXTI_EnableDigitalFilter(GPIO_COMMON, LL_GPIO_EXTI_LINE_4);
LL_EXTI_SetTrigEdge(GPIO_COMMON, LL_GPIO_EXTI_LINE_4, LL_GPIO_EXTI_TRIGGER_BOTHEDGE);
LL_EXTI_ClearFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_4);
GPIO_InitStruct.Pin = LINE_9_PIN;
GPIO_InitStruct.Mode = LL_GPIO_MODE_INPUT;
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_OPENDRAIN;
GPIO_InitStruct.Pull = ENABLE;
LL_GPIO_Init(LINE_9_GPIO, &GPIO_InitStruct);
LL_EXTI_SetTrigEdge(GPIO_COMMON, LL_GPIO_EXTI_LINE_9, LL_GPIO_EXTI_TRIGGER_NONE);
// LL_GPIO_SetExitLine9(GPIO_COMMON, LL_GPIO_EXTI_LINE_9_PC4);
// LL_GPIO_SetExitLine9(GPIO_COMMON, LL_GPIO_EXTI_LINE_9_PC5);
LL_GPIO_SetExitLine9(GPIO_COMMON, LL_GPIO_EXTI_LINE_9_PC6);
// LL_GPIO_SetExitLine9(GPIO_COMMON, LL_GPIO_EXTI_LINE_9_PC7);
LL_EXTI_EnableDigitalFilter(GPIO_COMMON, LL_GPIO_EXTI_LINE_9);
LL_EXTI_SetTrigEdge(GPIO_COMMON, LL_GPIO_EXTI_LINE_9, LL_GPIO_EXTI_TRIGGER_BOTHEDGE);
LL_EXTI_ClearFlag(GPIO_COMMON, LL_GPIO_EXTI_LINE_9);
NVIC_DisableIRQ(GPIO_IRQn);
NVIC_SetPriority(GPIO_IRQn,2);
NVIC_EnableIRQ(GPIO_IRQn);
}
|
-
|