打印
[STM32F3]

STM32公共中断端口如何配置

[复制链接]
653|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
今天我在配置STM32F103的时候要用到PA5---PA7作为中断,要配置他们的中断函数,但是所有配置都是正常的,自己查不出什么问题,具体代码如下:
void KEY_Init(void) //IO初始化
{
     GPIO_InitTypeDef GPIO_InitStructure;
     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//使能PORTA,PORTE时钟
    GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;//KEY0-KEY1
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //设置成上拉输入
    GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
     GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA 5.6.7
}
void EXITTI_Init(void)
{
EXTI_InitTypeDef EXTI_InitStructure;    //定义一个EXTI结构体变量
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);    //使能IO复用功能,使用中断功能重要!!!
    KEY_Init();
/* 引脚选择 */
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource5|GPIO_PinSource6|GPIO_PinSource7);//配置端口C的13引脚为中断源
/* 设置外部中断结构体的成员*/
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;    //中断模式为中断模式
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;    //下降沿触发
EXTI_InitStructure.EXTI_Line = EXTI_Line5 | EXTI_Line6|EXTI_Line7;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;    //使能中断线
EXTI_Init(&EXTI_InitStructure);    //根据参数初始化中断寄存器
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);    //设置中断优先级分组2
NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn;    //设定中断源为PC13
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;    //中断占优先级为2
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;    //副优先级为0
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;    //使能中断
NVIC_Init(&NVIC_InitStructure);    //根据参数初始化中断寄存器
}
void EXTI19_5_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line5) != RESET)
  {
        delay_ms(10);//消抖
    if(KEY0==0)
    {                 
        printf("555");
        LED1=!LED1;   
    }
     /* Clear the Key Button EXTI line pending bit */
    EXTI_ClearITPendingBit(EXTI_Line5);
  }
  else if(EXTI_GetITStatus(EXTI_Line6 )!= RESET)
  {
    delay_ms(10);//消抖
        printf("666");
    if(KEY1==0)         
    {                 
        LED0=!LED0;
    /* Clear the Key Button EXTI line pending bit */
    EXTI_ClearITPendingBit(EXTI_Line6);
  }
  else if(EXTI_GetITStatus(EXTI_Line7 )!= RESET)
  {
        printf("777");
    EXTI_ClearITPendingBit(EXTI_Line7);
}
}




使用特权

评论回复
沙发
一点点0321|  楼主 | 2022-11-16 22:19 | 只看该作者
GPIO也初始化了,中断也初始化了,中断服务函数也写了,它就是不工作,实在是想不到哪里出问题了,求帮

使用特权

评论回复
板凳
怎么总是重复啊| | 2022-11-16 22:50 | 只看该作者
这里代码多了

201296374f1c711322.png (31.78 KB )

201296374f1c711322.png

使用特权

评论回复
地板
一点点0321|  楼主 | 2022-11-16 23:25 | 只看该作者
非常感谢,原来是多了个1呀,马虎了,检查几遍也没发现,谢谢!

使用特权

评论回复
5
kepe| | 2024-7-31 01:21 | 只看该作者
你使用GPIO_EXTILineConfig配置中断引脚时,只需要针对每个引脚单独调用,而不是一起调用。

使用特权

评论回复
6
AdaMaYun| | 2024-7-31 16:04 | 只看该作者
其实还是非常不错的,加油多练习

使用特权

评论回复
7
铁血丹心LLLL| | 2024-8-28 00:54 | 只看该作者
根据具体的应用需求配置外部中断的触发条件

使用特权

评论回复
8
Bblythe| | 2024-11-16 07:23 | 只看该作者

因此以更高的速度使用重型铣削钻头。

使用特权

评论回复
9
周半梅| | 2024-11-16 09:19 | 只看该作者

共模电感有时候又叫共模扼流圈

使用特权

评论回复
10
Pulitzer| | 2024-11-16 10:22 | 只看该作者

电镀半孔可用于标准和高级PCB设计。

使用特权

评论回复
11
童雨竹| | 2024-11-16 12:18 | 只看该作者

共模电感对交流电流起着阻碍的作用

使用特权

评论回复
12
Wordsworth| | 2024-11-16 13:21 | 只看该作者

因此,可以精确铣削电镀半孔并提高工艺可靠性。

使用特权

评论回复
13
Clyde011| | 2024-11-16 14:24 | 只看该作者

确保当开关管导通,

使用特权

评论回复
14
公羊子丹| | 2024-11-16 15:17 | 只看该作者

高频变压器磁芯利用率高(与单端电路相比)、电源电压利用率高(与后面要叙述的半桥电路相比)、输出功率大、两管基极均为低电平,驱动电路简单。

使用特权

评论回复
15
万图| | 2024-11-16 16:20 | 只看该作者

静态测试是通过使用直流电压表和负载电流计来分别测试电源的输出电压和输出电流

使用特权

评论回复
16
Uriah| | 2024-11-16 17:23 | 只看该作者

主要起到支承作用,板不会散掉。

使用特权

评论回复
17
帛灿灿| | 2024-11-16 19:19 | 只看该作者

为了抑制共模干扰

使用特权

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

本版积分规则

55

主题

396

帖子

0

粉丝