历史上的今天

今天是:2024年09月03日(星期二)

正在发生

2019年09月03日 | STM32应用简章之外部中断

发布者:幸福约定123 来源: eefocus关键字:STM32  外部中断 手机看文章 扫描二维码
随时随地手机看文章

①初始化IO口为输入。


       GPIO_Init();


②   开启IO口复用时钟。


       RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);


③设置IO口与中断线的映射关系。


        void GPIO_EXTILineConfig();


④初始化线上中断,设置触发条件等。


       EXTI_Init();


⑤配置中断分组(NVIC),并使能中断。


       NVIC_Init();


⑥   编写中断服务函数。


      EXTIx_IRQHandler();


⑦清除中断标志位


      EXTI_ClearITPendingBit();


void EXTIX_Init(void)

{

 

  EXTI_InitTypeDef EXTI_InitStructure;

  NVIC_InitTypeDef NVIC_InitStructure;

 

    KEY_Init(); // 按键端口初始化

 

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); //使能复用功能时钟

 

    //GPIOE.2 中断线以及中断初始化配置   下降沿触发

  GPIO_EXTILineConfig(GPIO_PortSourceGPIOE,GPIO_PinSource2);

 

  EXTI_InitStructure.EXTI_Line=EXTI_Line2; //KEY2

  EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;

  EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;

  EXTI_InitStructure.EXTI_LineCmd = ENABLE;

  EXTI_Init(&EXTI_InitStructure); //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器

 

   //GPIOE.3   中断线以及中断初始化配置 下降沿触发 //KEY1

  GPIO_EXTILineConfig(GPIO_PortSourceGPIOE,GPIO_PinSource3);

  EXTI_InitStructure.EXTI_Line=EXTI_Line3;

  EXTI_Init(&EXTI_InitStructure);   //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器

 

   //GPIOE.4   中断线以及中断初始化配置  下降沿触发 //KEY0

  GPIO_EXTILineConfig(GPIO_PortSourceGPIOE,GPIO_PinSource4);

  EXTI_InitStructure.EXTI_Line=EXTI_Line4;

  EXTI_Init(&EXTI_InitStructure);   //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器

 

 

   //GPIOA.0   中断线以及中断初始化配置 上升沿触发 PA0  WK_UP

  GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource0); 

 

  EXTI_InitStructure.EXTI_Line=EXTI_Line0;

  EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;

  EXTI_Init(&EXTI_InitStructure); //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器

 

 

  NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn; //使能按键WK_UP所在的外部中断通道

  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //抢占优先级2, 

  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x03; //子优先级3

  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中断通道

  NVIC_Init(&NVIC_InitStructure); 

 

    NVIC_InitStructure.NVIC_IRQChannel = EXTI2_IRQn; //使能按键KEY2所在的外部中断通道

  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //抢占优先级2, 

  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x02; //子优先级2

  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中断通道

  NVIC_Init(&NVIC_InitStructure);

 

 

  NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQn; //使能按键KEY1所在的外部中断通道

  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //抢占优先级2 

  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01; //子优先级1 

  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中断通道

  NVIC_Init(&NVIC_InitStructure);    //根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器

 

NVIC_InitStructure.NVIC_IRQChannel = EXTI4_IRQn; //使能按键KEY0所在的外部中断通道

  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //抢占优先级2 

  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x00; //子优先级0 

  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中断通道

  NVIC_Init(&NVIC_InitStructure);    //根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器

 

}


关键字:STM32  外部中断 引用地址:STM32应用简章之外部中断

上一篇:STM32应用简章之串口配置
下一篇:STM32应用简章之通用定时器

推荐阅读

今年年初,华为终端打算在美国市场干出一番成绩,随后联合AT&T发布Mate 10 Pro,不过很快他们的合作就被其他原因给被迫停止了,最后情况糟糕到他们基本上完全放弃了美国市场。 虽说基本放弃了美国市场,但是一些专利纠纷并不会因此而消失。据外媒worldipreview给出的报道称,美国法院德克萨斯去陪审团最终认定,华为侵犯了别人的4G LTE专利,需要缴纳10...
5G商机将于2020年进入爆发成长阶段,目前全球各大手机芯片厂商如高通、三星、海思及联发科等都将推出自家产品,预期最快2019年下半年将搭载终端产品问世,提前点燃这波为期至少十年的新战火。5G俨然市场上最火热的题材,原因在于,全球各地都开始兴起5G基础建设需求,智慧手机品牌厂商自然跟上这波商机,目前正在与芯片开发商积极合作,希望抢下2020年的5G...
在国内商用卡车ADAS强装法规的驱动下,十亿到百亿级的ADAS前装市场已经爆发,此次智驾科技MAXIEYE与安霸合作开发的视觉感知产品,自今年7月份以来单月出货量已经破万,在业内率先实现了十亿到百亿级市场的量产之路。文丨AutoR智驾 诺一安霸半导体瞄准了本土自动驾驶初创公司。在去年4月安霸与Momenta达成合作之后,近日,安霸与智驾科技MAXIEYE共同宣布...
9月1日,深圳市坪山区委书记杨军率队调研深圳荣耀智能机器有限公司、中芯国际等辖区重点企业,参观企业车间生产线、听取企业相关负责人情况介绍。在荣耀智能制造产业园,杨军指出,坪山区将按照市委市政府部署要求,以最好的营商环境、最优质的企业服务、最快的反应速度,全力保障荣耀终端项目在坪山发展壮大。希望荣耀加大自主创新力度,推动关键核心技术...

史海拾趣

问答坊 | AI 解惑

电子学习资料[适合初学者]

[][][]电子学习资料[适合初学者]…

查看全部问答∨

Full-Wave Analysis of Cross-Aperture

Abstract—This paper presents a full-wave analysis of couplingbetween rectangular waveguides through a cross-aperture. Therigorous mode-matching method is used to derive the generalizedscattering matrix of a waveguide T-junction h ...…

查看全部问答∨

嵌入式DSP设计中的功耗优化

对基于数字信号处理器(DSP)的系统而言,优化功耗是一项重要但往往难以实现的设计目标。现在,基于DSP的设备常常把以往各自独立的多个应用结合起来,每一个应用都可能有多个工作模式。要得到这样一个设备的功率分布是非常困难的一件事,更遑论整个复 ...…

查看全部问答∨

关于DIY 大家有什么好点子?

想在DIY专版搞些活动,大家有什么好建议没的?(论坛可以为大家提供资料、芯片和简易的开发工具) 大家可以写一些计划书或方案,发表在论坛上,如果大家的方案被认可,我们就给您邮寄过去开发板和芯片(目前仅限于at89s51/52单片机和avr单片机) 欢迎大家 ...…

查看全部问答∨

最新集成电路应用手册

最新集成电路应用手册 《最新集成电路应用手册》 第一章 模拟集成电路的特点 第二章 集成运放的信号运算电路 第三章 集成运放在波形发生方面的运用 第四章 集成运放在音频电路与有源滤波电路当中的应用 第五章 集成运放在高频电路与锁相环电 ...…

查看全部问答∨

样片申请

利用LPC1114F做一个服务器,接入免费的互联网,嵌入代理软件,然后就可以远程遥控服务器,利用LPC1114F制作的服务器上网~嘿嘿~…

查看全部问答∨

晶体管放大原理……

看了很多晶体管的放大原理说明,始终没能明白! 既然要放大,那必需得有相应的能量转换吧,那么晶体管对电流、电压的放大所需的能量来自何处!?…

查看全部问答∨

EVC程序编译运行

我的EVC程序是针对PPC2003 SDK的,编译通过,但是我一编译它就自动打开了PPC的模拟平台,并没有我刚才编译的程序,这是为什么啊?请各位好友帮帮!!!…

查看全部问答∨

GPRS网络通讯

请大家帮忙出出主意,已经苦闷很久了。      我是采用一个WINCE 模块作 GPRS网络通讯 。   先是 用RAS 拨号,似乎是成功了,且分配了IP.   然后编了一个 TCP 发数程序,在我们学校的内网可以发送成功 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved