Quiero utilizar el conocimiento incorporado para configurar las interrupciones de 4 botones. El siguiente es el código de referencia de la función de inicialización de la interrupción externa stm32 y cómo modificarlo.
La configuración del registro debe configurarse según el manual, de lo contrario ¿quién lo hará?
STM32 tiene muchos más GPIO. Todos los puertos GPIO se pueden usar como interrupciones externas, pero los del mismo. El grupo solo puede elegir Uno, como el primer pin de GPIOA, está agrupado con los otros pines que son todos 1 (como el primer pin de GPIOC), por lo que SYSCFG->EXTICR[0] &= ~(0x0f << ( 0 * 4)); esta oración es para configurar la línea de interrupción de la interrupción externa 0 para seleccionar GPIOA, es decir, el pin 0 de GPIOA;
EXTICR[0] selecciona las interrupciones externas 0 a 3, y pronto.
Por ejemplo, si su botón es PC5, entonces selecciona la interrupción externa 5,
SYSCFG->EXTICR[1] &= ~(0x0f << (1 * 4)) ;
Configurarlo como disparador de flanco ascendente EXTI->RTSR |= 1 << 5;
o configurarlo como disparador de flanco descendente EXTI->FTSR |= 1 << 5;
O ambos, depende de su circuito externo. Si presiona el interruptor de nivel bajo a alto, seleccione el flanco ascendente
Finalmente abra la solicitud EXTI->IMR?| 1 << 5;
En las siguientes líneas, escriba la agrupación de interrupciones, la prioridad de interrupción y finalmente su función de interrupción de acuerdo con sus requisitos