第八章 外部中断

发布时间:2024-03-18  

第一节原理解读

打算写一下中断,又忍不住想说一下中断的概念,去书上翻一翻,或者自己在搜索引擎上搜一下,都可以找到一大堆,包括本文写的这个外部中断也不例外。如果要写光是中断就可以单独写一篇了,所以本文直入主题,对于STM32的外部中断进行详细的剖析。下图来自《STM32参考手册》,从整个架构图可以知道,外部中断的功能可以配置六个寄存器。

5fa7a538-7d32-11ec-8beb-dac502259ad0.png

GPIO的映射关系图如下所示:5fbd3556-7d32-11ec-8beb-dac502259ad0.png第二节配置环境1,打开STM32CubeMX并选择芯片,下载器配置如下图。

5fce18f8-7d32-11ec-8beb-dac502259ad0.png

2,选择按键的引脚,配置成外部中断。如下图:

5fe83cd8-7d32-11ec-8beb-dac502259ad0.png

3,配置PC15引脚(也就是开发板上LD5的引脚)为输出模式。

5ffae388-7d32-11ec-8beb-dac502259ad0.png4,选中GPIO,选择PC14,并且将GPIO的模式配置为外部中断下降沿有效。如下图:

60115848-7d32-11ec-8beb-dac502259ad0.png

5,使能中断。如下图。

60269e92-7d32-11ec-8beb-dac502259ad0.png

6,设置时钟树,项目路径,项目名称等等信息将不再阐述。配置完后生成项目即可。

第三节编写代码

1,大家先看看stm32l0xx_it.c的这个函数,这个是一个中断函数,中断服务函数里面就调用了GPIO外部中断处理函数HAL_GPIO_EXTI_IRQHandler(),参数为GPIO_PIN_14,即EXTI14中断。

6037b1d2-7d32-11ec-8beb-dac502259ad0.png

2,详细看看这个函数,GPIO外部中断处理函数主要就是清除中断标识位,然后调用中断回调函数HAL_GPIO_EXTI_Callback()。我们只需重构中断回调函数,在函数里面添加我们的应用代码即可。

604dc3b4-7d32-11ec-8beb-dac502259ad0.png

3,于是,在main.c中添加回调函数,如下:

605fb13c-7d32-11ec-8beb-dac502259ad0.png

4,配置下载器等就不再重复阐述了。

第四节 实验现象

实验注意事项:

1,程序语句需要位于程序的BEGIN与END之间。

2,利用USB线将电脑USB口与开发板USB1口连接。

3,CN4所有拨码开关必须选择ON DP档,否则无法下载程序。

实验现象:

LD1,LD4常亮。LD5上电长量,按下USER按键,LD5翻转。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    只是简单列举):    14 //    15 //·同一个进程递归地加锁同一把锁;    16 //    17 //·一把锁既在中断(或中断下半部)使能的情况下执行过加锁操作,    18 // 又在中断......
    通信主要依赖超高频的微波频段。而无线电接收技术也向着大带宽、高灵敏度、高采样率的方向发展,更高的速率为信号的实时分析带来了极大的困难。本文提出了一种基于算法的窄带多路控守系统的设计方法,采用算法实现......
    模式接收,同样会因为频繁中断导致消耗大量CPU资源 因此,高波特率场景下,串口非常有必要使用DMA。 3DMA实现方式 4 STM32串口使用DMA 关于STM32串口使用DMA,不乏......
    因此,高波特率场景下,串口非常有必要使用DMA。 3 DMA实现方式 4......
    内壁上开设有操作槽,且导料管的下半部的外壁上安装有两个对称设置的第一气缸和第二气缸,第一气缸和第二气缸的活塞端从导料管管壁上开设的通孔插入操作槽内且连接有弯折组件,导料管的底部顶面安装有第三气缸,第三......
    接收,如仍采用传统的中断模式接收,同样会因为频繁中断导致消耗大量CPU资源 因此,高波特率场景下,串口非常有必要使用DMA。 3 实现方式 整体设计图 4 STM32串口使用DMA 关于STM32......
    我们来说说如何用51单片机对其进行解码。由于程序结构不复杂,就不再画程序流程图了。 红外线经一体化接收模块解码后送到单片机的外部中断0,单片机设置外部中断下降沿触发(即外部中断0为跳变沿触发方式,从高到低的负跳变触发进入中断......
    =spi_Rec_buf.tail= 0;   (5)内核机制相关的数据结构初始化。本设计所使用的内核机制包括了中断上下半部的操作和睡眠等待机制,因此需要对发送、接收等待队列以及tasklet结构......
    指示:我们的目视观察到沙子全部流入到下半部分玻璃瓶。 定时器实现功能的关键条件: 容器:单片机的定时器单元(上图的定时器0、1、2) 初始值、初始设置: 各个定时器的寄存器初始值填入 触发机关:软件......
    STM32F1/F4复位的实现方式有哪些;  共有三种类型的复位,分别为系统复位、电源复位和备份域复位。      系统复位:   除了时钟控制寄存器CSR中的复位标志和备份域中的寄存器外,系统......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>