历史上的今天
返回首页

历史上的今天

今天是: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)并使能中断

编写中断服务函数(清除中断标志位)


运行结果:


推荐阅读

史海拾趣

Emerson公司的发展小趣事

1954年至1973年,Emerson在总裁帕森斯的领导下,开始实施多元化战略。公司通过一系列并购活动,成功收购了包括威诺、美国电气电机、里奇工具等在内的36家公司,进一步拓宽了业务范围。同时,Emerson还注重研发和创新,通过不断推出新产品和技术,巩固了其在电气行业的领先地位。在此期间,公司的规模迅速扩大,从最初的2家工厂、4000名员工和5600万美元产值发展到82家工厂、31000名员工和8亿美元产值。

Deutsch公司的发展小趣事

为了进一步扩大市场份额,Deutsch公司开始积极寻求国际合作和市场扩张的机会。公司首先通过市场调研,确定了目标市场,并制定了详细的市场拓展计划。随后,通过与当地合作伙伴建立合作关系,Deutsch公司成功进入了新兴市场。在国际市场上,公司凭借其高品质的产品和优质的客户服务,赢得了客户的信任和认可。这些努力使得Deutsch公司的市场份额逐年上升,成为电子行业的领军企业之一。

Corex Intervest Inc公司的发展小趣事

Corex Intervest Inc公司在电子行业的发展历程中,始终保持着稳健的步伐和进取的精神。公司不断适应市场变化和技术更新,不断调整战略方向和发展重点。在未来,公司将继续加大研发投入,拓展新的应用领域和市场空间,为电子行业的发展贡献更多的力量。

这五个故事展示了Corex Intervest Inc公司在电子行业中的发展历程和取得的成就。从创立初期的艰难起步到技术创新、市场拓展、战略合作和持续发展的不断推进,Corex Intervest Inc公司始终保持着积极进取的精神和不断创新的态度,在电子行业中取得了显著的成绩。

格科微电子(GALAXYCORE)公司的发展小趣事

Corex Intervest Inc公司的创立,标志着电子行业中一颗新星的诞生。公司创始人凭借对电子技术的深刻理解和市场需求的敏锐洞察,决定投身于电子产品的研发和生产。在创立初期,公司面临着资金短缺、技术难题和市场竞争等多重挑战。然而,创始人凭借坚定的信念和不懈的努力,带领团队攻克了一个又一个难关,逐步在市场中站稳了脚跟。

ECM [ECM Electronics Limited.]公司的发展小趣事

ECM Electronics Limited.自创立之初,就注重技术创新。公司投入大量研发资金,专注于开发高效、节能的电子产品。通过不断的技术迭代和产品创新,ECM成功推出了一系列具有竞争力的产品,逐渐在市场上建立了良好的口碑。同时,公司还积极与高校和科研机构合作,引进先进技术,为公司的持续发展提供了强大的技术支撑。

Adaptive Networks Inc公司的发展小趣事

在竞争激烈的电子行业中,品质是企业生存和发展的关键。ECM Electronics Limited.深知这一点,始终将产品质量放在首位。公司建立了严格的质量管理体系,从原材料采购到产品生产、检测、包装等各个环节都严格把关,确保每一件产品都符合高标准的质量要求。正是凭借过硬的产品品质,ECM赢得了客户的信赖和市场的认可。

问答坊 | AI 解惑

失真度测试的一种解决方案

大家共同学习,这里提供一种失真度测试仪的一种简单解决方案…

查看全部问答>

帮忙具体分析一下这个开关电源

此开关电源属于复合式开关电源,采用TL431的精密基准和PC817组成反馈电路。整个工作过程:交流输入经滤波、整流后成为直流高压,再由功率开关管斩波、高频变压器降压后得到高频矩形波电压,最后经过输出整流滤波器,获得所需要的直流输出电压。此开 ...…

查看全部问答>

FPGA学习板,红色飓风,550,自己用过的,现在卖了,

初学者学习板,基础实验都有, 用起来不错,有想学FPGA的朋友,可以给你一些很好的资料。…

查看全部问答>

基于Windows CE的嵌入式数字地形测图系统开发.pdf

基于Windows CE的嵌入式数字地形测图系统开发.pdf…

查看全部问答>

基于FPGA和CCD的图像采集系统设计

兄弟姐妹们好,我现在要做一个课题是基于FPGA和CCD的图像采集系统设计。但是看了看面阵CCD的datasheet,感觉它的时序都好麻烦,头有点晕。 想看看有没有哪位高人做过这方面的东西啊。可以和我联系一下吗,我的email:mosina@eyou.com qq:94651873。 ...…

查看全部问答>

招聘:硬件工程师一名,地点:深圳

嵌入式硬件开发工程师 职位要求: 1、本科以上学历; 2、电子/无线电通訊/计算机专业; 3、熟悉电子、软件及机械知识,良好英语读写能力; 4、5年以上嵌入式系统硬件和电路设计(如Atmel、Freescale, etc);有无线通讯产品开发经验;至少一年 ...…

查看全部问答>

我这里有佳能PS-ReC SDK v1.1.0c开发包

我这里有佳能PS-ReC SDK v1.1.0c 包括开发包、文档、例子 例子在vc6.0 vc2003 vc2005下都可以执行 有需要的和我联系 qq: 784905761…

查看全部问答>

关于vivi在s3c2410上的移植

由于项目需要,需要把vivi移植到S3C2410上,vivi默认的波特率是115200,要改成9600,MPLL为200MHZ,分频为1:2:4,然后设置一个宏xxx=(pclk/(9600*16))-1,后面再改head.s文件,在初始化串口部分,(mov指令的立即数限制成一字节)把原来的mov r2 ...…

查看全部问答>