历史上的今天
今天是:2025年02月22日(星期六)
2021年02月22日 | STM32F4外部GPIO中断源使用笔记
2021-02-22 来源:eefocus
STM32F4有7个外部GPIO中断源,它们负责分配给每个组的GPIO[15..0];
对应关系为

外部中断初始化顺序为:
GPIO_InitTypeDef GPIO_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
EXTI_InitTypeDef EXTI_InitStructure;
(RCC->AHB1ENR) |= RCC_AHB1ENR_GPIOEEN;//GPIO CLK ENABLE
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);//使能SYSCFG时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStructure.GPIO_Speed = GPIO_Fast_Speed;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOE, &GPIO_InitStructure);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOE,EXTI_PinSource4);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOE,EXTI_PinSource5);
EXTI_InitStructure.EXTI_Line = EXTI_Line4 | EXTI_Line5;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel = EXTI4_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority= 0x01;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x02;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority= 0x00;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x02;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
使能SYSCFG时钟及IO口时钟
初始化IO口为输入
设置IO口与中断线的映射关系
初始化线上中断,设置触发条件
配置中断分组(NVIC)并使能中断
编写中断服务函数(清除中断标志位)
运行结果:

史海拾趣
|
此开关电源属于复合式开关电源,采用TL431的精密基准和PC817组成反馈电路。整个工作过程:交流输入经滤波、整流后成为直流高压,再由功率开关管斩波、高频变压器降压后得到高频矩形波电压,最后经过输出整流滤波器,获得所需要的直流输出电压。此开 ...… 查看全部问答> |
|
兄弟姐妹们好,我现在要做一个课题是基于FPGA和CCD的图像采集系统设计。但是看了看面阵CCD的datasheet,感觉它的时序都好麻烦,头有点晕。 想看看有没有哪位高人做过这方面的东西啊。可以和我联系一下吗,我的email:mosina@eyou.com qq:94651873。 ...… 查看全部问答> |
|
嵌入式硬件开发工程师 职位要求: 1、本科以上学历; 2、电子/无线电通訊/计算机专业; 3、熟悉电子、软件及机械知识,良好英语读写能力; 4、5年以上嵌入式系统硬件和电路设计(如Atmel、Freescale, etc);有无线通讯产品开发经验;至少一年 ...… 查看全部问答> |
|
我这里有佳能PS-ReC SDK v1.1.0c 包括开发包、文档、例子 例子在vc6.0 vc2003 vc2005下都可以执行 有需要的和我联系 qq: 784905761… 查看全部问答> |
|
由于项目需要,需要把vivi移植到S3C2410上,vivi默认的波特率是115200,要改成9600,MPLL为200MHZ,分频为1:2:4,然后设置一个宏xxx=(pclk/(9600*16))-1,后面再改head.s文件,在初始化串口部分,(mov指令的立即数限制成一字节)把原来的mov r2 ...… 查看全部问答> |




