打印

GD32F130-150 外部中断 AFIO问题,求分析

[复制链接]
2199|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
clvert|  楼主 | 2016-12-5 14:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32 使用外部中断的话必须开启AFIO时钟。版内搜索关于GD32外部中断各位大侠的发帖,貌似也需要这么操作。

但是,在GD32F130中,如何开启AFIO时钟呢?苦思未果
沙发
clvert|  楼主 | 2016-12-5 14:37 | 只看该作者
本帖最后由 clvert 于 2016-12-5 14:41 编辑

有没有人啊

使用特权

评论回复
板凳
clvert|  楼主 | 2016-12-5 18:14 | 只看该作者
这个问题已经找到替代了。但是外部中断还是没进不去

使用特权

评论回复
地板
xyz549040622| | 2016-12-5 21:41 | 只看该作者
你不知道,官方是有例程的吗?照猫画虎就OK了?

使用特权

评论回复
5
clvert|  楼主 | 2016-12-6 08:44 | 只看该作者
xyz549040622 发表于 2016-12-5 21:41
你不知道,官方是有例程的吗?照猫画虎就OK了?

是的。已经按照官方例程解决。谢谢你

使用特权

评论回复
6
clvert|  楼主 | 2016-12-6 08:44 | 只看该作者
教训就是网上的参考代码一定是参考用,要以官方代码为基准。

使用特权

评论回复
7
hengda125| | 2016-12-6 08:54 | 只看该作者
参照官方历程,里面有类似的程序可以开启AFIO时钟。

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
clvert + 2 赞一个!
8
clvert|  楼主 | 2016-12-6 08:56 | 只看该作者
hengda125 发表于 2016-12-6 08:54
参照官方历程,里面有类似的程序可以开启AFIO时钟。

谢谢

使用特权

评论回复
9
xyz549040622| | 2016-12-6 10:14 | 只看该作者
clvert 发表于 2016-12-6 08:44
教训就是网上的参考代码一定是参考用,要以官方代码为基准。

对的。一切以官方为准。我有一次更坑,网上下的库文件都是被修改过的。

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
clvert + 2 很给力!
10
xyz549040622| | 2016-12-6 10:14 | 只看该作者
clvert 发表于 2016-12-6 08:44
教训就是网上的参考代码一定是参考用,要以官方代码为基准。

对的。一切以官方为准。我有一次更坑,网上下的库文件都是被修改过的。

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
clvert + 2 很给力!
11
clvert|  楼主 | 2016-12-6 10:56 | 只看该作者
xyz549040622 发表于 2016-12-6 10:14
对的。一切以官方为准。我有一次更坑,网上下的库文件都是被修改过的。 ...

确实是大坑

使用特权

评论回复
12
whtwhtw| | 2016-12-6 11:39 | 只看该作者
完全可以用STM的库编程,GD和STM不仅是PIN-PIN,还是寄存器-寄存器

使用特权

评论回复
13
clvert|  楼主 | 2016-12-7 08:48 | 只看该作者
whtwhtw 发表于 2016-12-6 11:39
完全可以用STM的库编程,GD和STM不仅是PIN-PIN,还是寄存器-寄存器

我目前用的是GD的库

使用特权

评论回复
14
whtwhtw| | 2016-12-7 11:22 | 只看该作者
GD和ST的库就是寄存器名称不一样,其它大同小异

使用特权

评论回复
15
comeon201208| | 2016-12-7 22:41 | 只看该作者
AFIO时钟?这个我还是第一次注意的,,下去查下

使用特权

评论回复
16
clvert|  楼主 | 2016-12-9 08:31 | 只看该作者
whtwhtw 发表于 2016-12-7 11:22
GD和ST的库就是寄存器名称不一样,其它大同小异

是的

使用特权

评论回复
17
Dennis-Zhou| | 2016-12-21 20:04 | 只看该作者
GD有例程的,不出意外的话,AFIO的函数应该还是在sys的库中了。

使用特权

评论回复
18
baimiaocun2015| | 2016-12-22 22:41 | 只看该作者
AFIO是复用管脚的还是?

使用特权

评论回复
19
carefull3357dc| | 2016-12-25 11:47 | 只看该作者
建议使用 stm32cube 配置一下。

使用特权

评论回复
20
ljmf5| | 2017-4-6 18:33 | 只看该作者
本帖最后由 ljmf5 于 2017-4-6 18:34 编辑

楼主能否把代码贴出来看看,我的外部中断进入不了
代码如下:

        
void EXTI7_config(void)
{
                GPIO_InitPara GPIO_InitStructure;
    EXTI_InitPara EXTI_InitStructure;
    NVIC_InitPara NVIC_InitStructure;
    /* Enable the KEY Clock */
    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_GPIOA, ENABLE);
    RCC_APB2PeriphClock_Enable(RCC_APB2PERIPH_CFG, ENABLE);
//                GPIO_PinAFConfig(GPIOA, GPIO_PINSOURCE7, GPIO_AF_8);
    /* Configure Button pin as input */
    GPIO_InitStructure.GPIO_Mode = GPIO_MODE_IN;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PUPD_NOPULL;
    GPIO_InitStructure.GPIO_Pin = GPIO_PIN_7;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
        /* Enable and set key EXTI Interrupt to the lowest priority */
        NVIC_InitStructure.NVIC_IRQ = EXTI4_15_IRQn;
        NVIC_InitStructure.NVIC_IRQPreemptPriority = 2;
        NVIC_InitStructure.NVIC_IRQSubPriority = 0;
        NVIC_InitStructure.NVIC_IRQEnable = ENABLE;
        NVIC_Init(&NVIC_InitStructure);
        /* Connect key EXTI Line to key GPIO Pin */
        SYSCFG_EXTILine_Config(EXTI_SOURCE_GPIOA, EXTI_SOURCE_PIN7);
        /* Configure key EXTI line */
        EXTI_InitStructure.EXTI_LINE = EXTI_LINE7;
        EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
        EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;   
        EXTI_InitStructure.EXTI_LINEEnable = ENABLE;
        EXTI_Init(&EXTI_InitStructure);
        EXTI_ClearIntBitState(EXTI_LINE7);
}

static unsigned int i;
void EXTI4_15_IRQHandler(void)
{
    if(EXTI_GetIntBitState(EXTI_LINE7) != RESET)
    {
        printf("i=%d\r\n", i++);
        EXTI_ClearIntBitState(EXTI_LINE7);
    }
}


使用特权

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

本版积分规则

13

主题

111

帖子

1

粉丝