STM32F4 外部中断的时钟SYSCFG

在学习STM32外部中断时,发现必须使能syscfg时钟,

RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE);

1 为什么外部中断需要使能SYSCFG时钟:

 从截图中可以看出 ,syscfg多个时钟用于配置EXTI中断,其中

SYSCFG_EXTICR1 对应EXTIx[3:0]:EXTI x 配置(x = 0 到 3)

SYSCFG_EXTICR2对应EXTIx[3:0]:EXTI x 配置(x = 4 到 8)

SYSCFG_EXTICR3对应EXTIx[3:0]:EXTI x 配置(x = 8到 11)

因此外部中断使能SYSCFG时钟是说的通的,

二 :SYSCFG为何对应APB2总线呢

 因此syscfg 对应APB2 总线。

所以该结论成立。

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
STM32F4系列微控制器有多个外部中断线路,每个中断线路可以连接到不同的外部设备,如按键、传感器等。以下是配置STM32F4外部中断的基本步骤: 1. 选择要使用的外部中断线路,并将其连接到外部设备上。例如,如果要使用PA0引脚作为外部中断输入,则需要将外部设备连接到PA0引脚上。 2. 配置GPIO引脚为外部中断输入模式。可以使用STM32CubeMX软件或手动编写代码来完成此操作。例如,如果要将PA0引脚配置为外部中断输入模式,则需要执行以下代码: ``` GPIO_InitTypeDef GPIO_InitStruct; __HAL_RCC_GPIOA_CLK_ENABLE(); //使能GPIOA时钟 GPIO_InitStruct.Pin = GPIO_PIN_0; //选择PA0引脚 GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; //配置为上升沿触发中断 GPIO_InitStruct.Pull = GPIO_PULLDOWN; //选择上拉或下拉电阻 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); //初始化GPIOA ``` 3. 配置外部中断触发方式。可以选择上升沿、下降沿、双边沿等多种触发方式。例如,如果要将外部中断配置为上升沿触发,则需要执行以下代码: ``` EXTI_InitTypeDef EXTI_InitStruct; __HAL_RCC_SYSCFG_CLK_ENABLE(); //使能SYSCFG时钟 EXTI_InitStruct.Line = EXTI_LINE_0; //选择外部中断线路0,对应PA0引脚 EXTI_InitStruct.Mode = EXTI_MODE_INTERRUPT; //配置为中断模式 EXTI_InitStruct.Trigger = EXTI_TRIGGER_RISING; //配置为上升沿触发中断 HAL_EXTI_Init(&EXTI_InitStruct); //初始化外部中断 ``` 4. 编写中断服务程序来处理外部中断事件。中断服务程序应该包含在STM32F4的启动文件中,以便在外部中断发生时自动调用。例如,如果要编写一个中断服务程序来处理外部中断事件,则需要执行以下代码: ``` void EXTI0_IRQHandler(void) { HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0); //处理中断事件 //执行其他处理操作 } ``` 以上是配置STM32F4外部中断的基本步骤。具体实现方式可能因不同的外部设备和应用场景而有所不同。因此,建议参考STM32F4系列微控制器的官方文档和示例代码进行详细学习和实践。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值