我要用嵌入式知识配置4个按键的中断,下面是stm32外部中断的初始化函数的参考代码,该怎么修改。
EXTI->RTSR|=1<<0;EXTI->IMR|=1<<0;SYSCFG->EXTICR[0]&=~(0x0f<<(0*4));NVIC_SetPriorityGr...
EXTI->RTSR |= 1 << 0;
EXTI->IMR |= 1 << 0;
SYSCFG->EXTICR[0] &= ~(0x0f << (0 * 4));
NVIC_SetPriorityGrouping(7 - 3);
Priority = NVIC_EncodePriority((7-3),4,0);
NVIC_SetPriority(EXTI0_IRQn,Priority);
NVIC_EnableIRQ(EXTI0_IRQn);
四个按键分别为PA0 PE2 PE3 PE4 展开
EXTI->IMR |= 1 << 0;
SYSCFG->EXTICR[0] &= ~(0x0f << (0 * 4));
NVIC_SetPriorityGrouping(7 - 3);
Priority = NVIC_EncodePriority((7-3),4,0);
NVIC_SetPriority(EXTI0_IRQn,Priority);
NVIC_EnableIRQ(EXTI0_IRQn);
四个按键分别为PA0 PE2 PE3 PE4 展开
1个回答
意法半导体(中国)投资有限公司
2023-06-12
展开全部
2019-04-09
展开全部
寄存器配置一定要看手册来配,不然谁会
STM32的改启GPIO多很多,所有的GPIO口都可用作外部中断,但同组的只能选择一个,如宏滑GPIOA的第1脚与其他都是1脚(如GPIOC的第一脚)的归为一组,所以SYSCFG->EXTICR[0] &= ~(0x0f << (0 * 4));这句是来配置外部中断0的中断线选择GPIOA的,即GPIOA的第0脚;
EXTICR[0]是选择外核绝如部中断0到3的,其他以此类推。
例如你的按键为PC5,则你选择外部中断5,
SYSCFG->EXTICR[1] &= ~(0x0f << (1 * 4));
配置成上升沿触发EXTI->RTSR |= 1 << 5;
或者配置成下降沿触发EXTI->FTSR |= 1 << 5;
或者两者都行,这需要看你的外部电路,按下由低电平转高则选上升沿
最后开放对应中断线的请求EXTI->IMR |= 1 << 5;
后面那几行根据你的要求写中断分组,中断优先级,最后写你的中断函数
光派通信
2024-09-03 广告
2024-09-03 广告
对光传输设备进行调试和维护,需要掌握以下关键点:1. **熟悉设备性能**:深入了解OTN/DWDM等光传输产品的性能特点,确保能够熟练使用设备。2. **按规范操作**:依据产品说明书和维护手册进行调试和维护,确保操作步骤正确无误。3. ...
点击进入详情页
本回答由光派通信提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询