打印

GD32复用功能时钟rcu_periph_clock_enable(RCU_AF)什么时候需要开启?

[复制链接]
4852|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
GD32E103C8T6做一个外部触发的实验,EXTI9(PB9)用作触发源,中断优先级和开中断都配置好了,如果不加rcu_periph_clock_enable(RCU_AF)这句话,就进不了中断函数EXTI5_9_IRQHandler();加上rcu_periph_clock_enable(RCU_AF)就能进中断。
PB9的初始化是这样的gpio_init(GPIOB, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ,GPIO_PIN_9);我认为这没有用到复用功能啊,为啥需要开AF时钟??我哪里理解多了?难道浮空输入(GPIO_MODE_IN_FLOATING)属于复功能么?看手册也觉得不是复用功能啊。
我哪里理解错了,请指点!!谢谢!
下面是手册的定义
PB9
Default: PB9
Alternate: TIMER3_CH3, TIMER10_CH0
Remap: I2C0_SDA, CAN0_TX

使用特权

评论回复
评论
电源民工 2020-5-11 11:44 回复TA
@JinGuangwei :嗯嗯,谢谢,看了,的确是这里的问题 
电源民工 2020-5-11 11:43 回复TA
@JinGuangwei :嗯嗯,谢谢,看了,的确是这里的问题 
JinGuangwei 2020-5-11 09:25 回复TA
7.5. 外部中断及事件功能概述 EXTI触发源包括来自I/O管脚的16根线以及来自内部模块的3根线。 (包括LVD、 RTC闹钟、USBFS唤醒)。通过配置GPIO模块的AFIO_EXTISSx寄存器,所有的GPIO管脚都可以被选作EXTI的触发源, 具体细节请参考GPIO章节AFIO部分。 看一下8.5的AFIO寄存器,都是AF的寄存器,看看EXTI在里面不 
沙发
yqdeso| | 2020-5-11 10:35 | 只看该作者
EXTI 源是需要通过AFIO_EXITSSx寄存器来选择的。

详请去看32E103用户手册的8.5.11~8.5.14

使用特权

评论回复
板凳
电源民工|  楼主 | 2020-5-11 11:42 | 只看该作者
yqdeso 发表于 2020-5-11 10:35
EXTI 源是需要通过AFIO_EXITSSx寄存器来选择的。

详请去看32E103用户手册的8.5.11~8.5.14 ...

一语中的啊,谢谢。意思是这个寄存器正常工作是需要配置AF时钟么?

使用特权

评论回复
地板
sonicll| | 2020-5-11 14:02 | 只看该作者
本帖最后由 sonicll 于 2020-5-11 14:03 编辑

当你需要操作AFIO的任何一个寄存器时,就要开AF时钟,跟操作其他外设的道理是一样的

使用特权

评论回复
5
Y0825| | 2022-11-8 16:39 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

15

帖子

0

粉丝