首页 > 编程知识 正文

外部中断与gpio中断有何不同,GPIO中断和哪一个外部中断共用同一个中断通道

时间:2023-05-03 14:00:39 阅读:285173 作者:57

GPIO 中断的使用 GPIO 中断的使用步骤 初始化 GPIO引脚作为输入引脚 GPIO_Init() GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PF1设置成输入,默认下拉 GPIO_Init(GPIOF, &GPIO_InitStructure);//初始化GPIOF.1 使能复用功能时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF,ENABLE); 设置IO口 与中断线的映射关系 GPIO_EXTILineConfig(GPIO_PortSourceGPIOF,GPIO_PinSource1); 初始化线上中断 设置触发条件 EXTI_InitTypeDef EXTI_InitStructure;EXTI_InitStructure.EXTI_Line=EXTI_Line1;EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;EXTI_InitStructure.EXTI_LineCmd=ENABLE;EXTI_Init(&EXTI_InitStructure); 配置中断分组 NVIC_InitTypeDef NVIC_InitStructure;NVIC_InitStructure.NVIC_IRQChannel = EXTI1_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x03;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure); 中断处理函数 void EXTI1_IRQHandler(void){count++;EXTI_ClearITPendingBit(EXTI_Line1); //清除LINE0上的中断标志位 } 手动清除中断 EXTI_ClearITPendingBit(EXTI_Line1); //清除LINE0上的中断标志位

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。