历史上的今天
返回首页

历史上的今天

今天是:2025年04月23日(星期三)

正在发生

2019年04月23日 | Stm32外部中断以及NVIC笔记

2019-04-23 来源:eefocus

1.外部中断

1.概念:

<1>:当某种事件发生时,CPU自动停止所干的事 从而去临时处理突发事件


<2>:对于Stm32F103rc而言,一共有60个可屏蔽中断(外部中断),16个内核中断


2.设置方法:


<1>:初始化相关的IO口


<2>:开启复用时钟,设置IO口和中断线的映射关系


RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//外部中断,需要使能AFIO时钟

<3>开启与该IO口想对的线上中断和设置触发条件


库函数:


GPIO_EXTILineConfig(GPIO_PortSourceGPIOC,GPIO_PinSource5);

 

  EXTI_InitStructure.EXTI_Line=EXTI_Line5;

  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寄存器

寄存器:


EX_NVIC_Config(GPIO_C,5,FTIR);

<4>:配置NVIC,使能中断


库函数:


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

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

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

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

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

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置分组情况 一般放在主函数里

寄存器:

 


MY_NVIC_Init(2,2,EXTI0_IRQn,2)

<5>:设置中断服务函数(库函数寄存器一致)


oid EXTI0_IRQHandler(void)

{

  delay_ms(10);    //消抖

if(WK_UP==1)

{   

LED0=!LED0;

LED1=!LED1;

}

EXTI_ClearITPendingBit(EXTI_Line0);  //清除EXTI0线路挂起位 

    //EXTI->PR=1<<5;

}

注:

NVIC中包括配置抢占优先级和响应优先级,一般而言,高抢占打断低抢占,高响应不能打断低响应,响应越高先执行(Stm32F1系列 一共可以设置0-4级响应 0为最高,4最低)


推荐阅读

史海拾趣

Cobham Semiconductor Solutions公司的发展小趣事

随着技术的不断成熟和市场需求的增长,Cobham Semiconductor Solutions意识到拓展市场的重要性。公司积极寻求国际合作,与多家知名企业建立了战略合作关系。通过合作,Cobham不仅获得了更多的市场机会,还进一步提升了自身的技术实力。同时,公司还积极开拓新兴市场,将产品推向全球,实现了业务的快速增长。

Eutech公司的发展小趣事

EUtech Scientific Engineering公司起初以测量技术为核心,专注于为能源和电力系统提供高精度测量设备。随着技术的不断发展和市场需求的变化,公司意识到控制技术在电力系统中的重要性。于是,公司投入大量研发资源,成功将测量与控制技术相结合,开发出具有自主知识产权的控制系统,实现了从测量到控制的跨越。

Frequency Devices公司的发展小趣事

Frequency Devices公司自成立之初,便以技术创新为核心驱动力。在20世纪90年代初,公司研发团队成功开发出一种新型高频滤波器,该滤波器在信号传输效率和稳定性上实现了重大突破。这一创新不仅解决了当时通信领域的一大技术难题,还迅速获得了市场的广泛认可。随着技术的不断迭代,Frequency Devices公司持续投入研发,推出了更多高性能、低成本的高频电子产品,逐步奠定了其在行业内的领先地位。

General Electronic Devices公司的发展小趣事
负责产生控制信号,驱动开关元件按一定频率和占空比工作。
amcc [applied micro circuits corp]公司的发展小趣事
提供稳定的直流电压。
常州能动(ENDRIVE)公司的发展小趣事

人才是企业发展的重要保障。常州能动深知这一点,因此在发展过程中始终注重人才引进与培养。公司不仅积极引进高端技术人才,还建立了完善的培训体系,为员工提供多样化的培训机会,帮助他们不断提升技能水平。这些措施使得公司的人才队伍不断壮大,为公司的持续发展提供了有力保障。

问答坊 | AI 解惑

请问各位大侠,能不能把wince4.2的bsp直接移植到wince6.0?

我现在手里有块2440的板子,系统是wince5.0,我看了一下BSP的目录,判断应该是从wince4.2移植过来的,目录和wince4.2相同,现在我想把这个系统移植到wince6.0,不知可否?怎样移植,都注意写什么?谢谢大家!…

查看全部问答>

发动机防盗锁止系统

大家好:     谁有发动机防盗锁止系统的相关资料?比如说pcf7991AT和pcf7936等芯片的资料?我在网上查的,不是很清楚。我这个是要用在摩托车和汽车 电子防盗锁上的,欢迎大家多留言或有资料多发到我的邮箱里: meilingling2008@163.com ...…

查看全部问答>

TFFS文件系统~~建立起来感觉速度够慢的

我用的FLASH型号是一个AMD兼容的NOR FLASH, 2M的,划入TFFS的是高1.5M,也就是FORMAT参数为: tffsDevFormatParams myDefaultParams =     {         {          &nbs ...…

查看全部问答>

开始试用MSP430 C2500套件

准备开始试用MSP430 C2500套件,先是要将平台搭建好,具体光盘资料上有详细。     虽然套件说明上有适用温度范围,但是咱还是自己测试下比较放心,先测试下最高能承受的温度,用火烤…… 下午再测试下最低温度…… 注意:本测试纯属娱 ...…

查看全部问答>

msp430一些资料

本人收集的msp430m2013采样电路,和msp430149的开发资料、MSP-TS430PM64A99原理图和pcb图,欢迎大家下载…

查看全部问答>

ADXL354倾角传感器资料~~~~~~~~~(2011电子设计大赛)

自己从网上搜集的资料啊 [ 本帖最后由 shengruxiahua 于 2011-8-27 09:04 编辑 ]…

查看全部问答>

stm32的库不好

求大侠帮助???…

查看全部问答>

关于2553官方例程中mclk的问题

新手求帮助,关于2553官方例程中mclk的问题 P1.1的输出频率为什么是mclk/10呀? //****************************************************************************** //  MSP430G2xx3 Demo - Basic Clock, Output Buffered SMCLK, AC ...…

查看全部问答>

有资料上说149的AD采样速度高达200ksps,那么MSP430F5525的AD采样速度有多少啊?

有资料上说149的AD采样速度高达200ksps,那么MSP430F5525的AD采样速度有多少啊?…

查看全部问答>

LED灯具为什么要做CE认证?你知道么

replyreload += \',\' + 1408559;Timson,如果您要查看本帖隐藏内容请回复…

查看全部问答>