ST意法半导体
登录
直播中
张昂笙
7年用户
1001经验值
私信
关注
[问答]
在定制的pcb上使用stm32l011K4U3微控制器,无法清除EXTI挂起寄存器怎么解决?
开启该帖子的消息推送
pcb
微控制器
EXTI
寄存器
我无法清除 EX
ti
挂起寄存器,它始终保持高电平,可能这就是导致中断一次又一次触发的原因。我附上了代码片段。请帮助我找出问题所在。
#include "
STM32
l0xx.h" // Device header
#include "RTE_Components.h" // Component selection
volatile int HPA,HPB,HPC,interrupt,interrupt1;
void clock_init(void);
void gpio_init(void);
void exti_interrupt_init(void);
int main(void){
clock_init();
gpio_init();
exti_interrupt_init();
__enable_irq();
while(1){
//NOTHING TO DO
}
}
void clock_init(void){
RCC->APB1ENR|=RCC_APB1ENR_PWREN; //PWR clock enable
PWR->CR=0x800; //set vcore to 1.8V
while((PWR->CSR & PWR_CSR_VOSF)); // wait till core voltage is setelled
RCC->CR &=~(1<
RCC->CSR&=~(1<
RCC->CR&=~(1<
RCC->CR |= 1<
RCC->CFGR|=RCC_CFGR_PLLDIV2 | RCC_CFGR_SW_PLL | RCC_CFGR_PLLMUL4;//select pll as system clock, pllvco=hsi*6=16*6=96Mhz, core freq=pllvc0/plldiv=96Mhz/3=32Mhz
RCC->CR|=RCC_CR_PLLON; //enable pll
while(!(RCC->CR & RCC_CR_PLLRDY)); // wait till pll is on
//RCC->APB1ENR|=RCC_APB1ENR_TIM2EN | RCC_APB1ENR_I2C1EN |RCC_APB1ENR_LPTIM1EN |RCC_APB1ENR_USART2EN ; //ENABLE clock for timer 2,i2c1
RCC->APB2ENR=RCC_APB2ENR_SYSCFGEN; //ENABLE clock for SYSCFGEN
}
void gpio_init(void){
RCC->IOPENR |= 0b111; //clk for portA,B,C
/*hall sensor pins*/
GPIOC->MODER &=~((0b11)<<28); //PC14(HPC) AS INPUT
}
void exti_interrupt_init(void){
SYSCFG->EXTICR[3]|=SYSCFG_EXTICR1_EXTI3_PC;
EXTI->IMR|=1<
EXTI->RTSR|=1<
EXTI->FTSR|=1<
NVIC_EnableIRQ(EXTI4_15_IRQn); //ENABLE IRQ4-15
}
void EXTI4_15_IRQHandler(void){
interrupt++; // KEEP TRACK OF NUMBER OF INTERRUPTS
if (EXTI->PR & (1<<14)) { // CLEAR PENDING INTERRUPT !!!!!!!! HERE IS THE ISSURE IT NEVER GETS CLEARED
EXTI->PR = (1<<14);
}
HPC=(GPIOC->IDR & 0x8000); //PC15
HPB=(GPIOA->IDR & 0x0001); //PA0
HPA=(GPIOC->IDR & 0x4000); //PC14
}
回帖
(1)
陈炜
2023-1-10 09:26:18
尝试读取所有相关寄存器的内容(GPIOC、EXTI、SYSCFG),检查它们是否按照您的预期设置。
> SYSCFG->EXTICR[3]|=SYSCFG_EXTICR1_EXTI3_PC;
尝试读取所有相关寄存器的内容(GPIOC、EXTI、SYSCFG),检查它们是否按照您的预期设置。
> SYSCFG->EXTICR[3]|=SYSCFG_EXTICR1_EXTI3_PC;
举报
更多回帖
rotate(-90deg);
回复
相关问答
pcb
微控制器
EXTI
寄存器
一文读懂
STM32
的
EXTI
(外部中断)
寄存器
2021-11-17
2988
EXTI
控制器
的主要特性是什么?
2021-11-16
1391
STM32
微控制器
的时钟树和
STM32
CubeMX Clock Configuration的配置关系是什么?
2022-02-14
633
在
TC
3
Exx
微控制器
中使用QSPI,RXEXIT
寄存器
返回0xFFFFFF的原因?
2024-06-21
158
ARM接口编程之中断
控制器
GIC介绍
2022-04-25
3724
请问一下
STM32
EXTI
外部中断
寄存器
有哪几种呢
2021-11-17
1213
S32
K
144
定制
评估板
无法
启动是怎么回事?
2023-05-30
223
STM32F4
关键
寄存器
有哪些?
2021-11-23
571
为什么GPIO中断
EXTI
时Pending
寄存器
都会
挂起
?
2019-09-19
2715
STM32L
超低功耗
微控制器
怎么样?
2019-10-15
2064
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分