打印
[其他ST产品]

STM32“智能人数控制系统”(GPIO+EXTI外部中断)

[复制链接]
楼主: 4c1l
手机看帖
扫描二维码
随时随地手机跟帖
21
4c1l|  楼主 | 2023-11-22 12:13 | 只看该作者 |只看大图 回帖奖励 |倒序浏览

使用特权

评论回复
22
4c1l|  楼主 | 2023-11-22 12:13 | 只看该作者

使用特权

评论回复
23
4c1l|  楼主 | 2023-11-22 12:13 | 只看该作者

使用特权

评论回复
24
4c1l|  楼主 | 2023-11-22 12:13 | 只看该作者
EXIT的优点和使用场景:

EXIT外部中断的优点:(简单说就是当中断不触发时是不需要cpu维持状态的所以不会占用cpu的资源,如果触发中断cpu需要马上放下当前的工作来处理中断事件,可以保证其实时性)

使用特权

评论回复
25
4c1l|  楼主 | 2023-11-22 12:13 | 只看该作者
实时性:外部中断可以立即中断程序的执行并处理相应的事件。这种实时性使得外部中断特别适用于需要快速响应的应用,例如传感器数据的实时采集和处理。

使用特权

评论回复
26
4c1l|  楼主 | 2023-11-22 12:13 | 只看该作者
节省资源:外部中断可以有效地节省处理器的资源。相比于使用轮询方式不断检测特定事件的状态,外部中断只在事件发生时触发中断,不需要持续的处理器占用,从而节省了处理器的运算能力。

使用特权

评论回复
27
4c1l|  楼主 | 2023-11-22 12:13 | 只看该作者
简化编程:外部中断的触发可以直接调用预定义的中断服务程序(ISR),简化了编程的复杂性。开发者只需编写ISR以响应中断事件,而不需要在主循环中持续检测特定事件的状态。

使用特权

评论回复
28
4c1l|  楼主 | 2023-11-22 12:14 | 只看该作者
多任务处理:外部中断可以与多任务处理相结合,实现多个任务之间的切换和共享资源。在多任务系统中,外部中断可以作为任务切换的触发源,实现任务的调度和切换。

使用特权

评论回复
29
4c1l|  楼主 | 2023-11-22 12:14 | 只看该作者
灵活性:外部中断可以配置为不同的触发方式,例如上升沿触发、下降沿触发、边沿触发等。这种灵活性使得外部中断适用于不同的应用场景,可以根据具体需求选择合适的触发方式。

使用特权

评论回复
30
4c1l|  楼主 | 2023-11-22 12:14 | 只看该作者
总而言之,EXTI外部中断具有快速实时响应、节省资源、简化编程、支持多任务处理和灵活配置等优点,使其在许多嵌入式系统和实时应用中得到广泛应用。

使用特权

评论回复
31
4c1l|  楼主 | 2023-11-22 12:14 | 只看该作者
EXIT外部中段的使用场景:

按键输入:外部中断可以用于检测和响应按键的按下或释放事件。当按键被按下或释放时,外部中断可以立即中断程序的执行,并调用相应的中断服务程序来处理按键事件。

使用特权

评论回复
32
4c1l|  楼主 | 2023-11-22 12:14 | 只看该作者
传感器信号:许多传感器(如光敏传感器、温度传感器、加速度传感器等)会产生外部信号来指示特定事件的发生。外部中断可以用于检测这些信号,并及时处理传感器数据。

使用特权

评论回复
33
4c1l|  楼主 | 2023-11-22 12:14 | 只看该作者
硬件状态变化:外部中断可以用于检测硬件状态的变化,并及时采取相应的措施。例如,当输入电压达到或超过某个阈值时,可以触发外部中断来执行相应的操作。

使用特权

评论回复
34
4c1l|  楼主 | 2023-11-22 12:14 | 只看该作者
通信接口:外部中断可以用于检测和响应与其他设备的通信事件,例如UART、SPI或I2C等接口的数据传输完成或接收到特定数据等。

使用特权

评论回复
35
4c1l|  楼主 | 2023-11-22 12:14 | 只看该作者
定时器事件:外部中断可以用于定时器的溢出或计数器的比较事件。当定时器或计数器满足预设条件时,外部中断可以触发相应的中断服务程序来执行定时任务。

使用特权

评论回复
36
4c1l|  楼主 | 2023-11-22 12:14 | 只看该作者
外部事件触发:外部中断可以用于检测和响应其他外部事件的发生,例如外部信号的上升沿或下降沿触发、外部中断信号的触发等。

使用特权

评论回复
37
4c1l|  楼主 | 2023-11-22 12:14 | 只看该作者
总体而言,EXTI外部中断适用于需要实时响应外部事件的各种嵌入式系统和实时应用场景,包括按键输入、传感器信号处理、硬件状态变化、通信接口、定时任务和其他外部事件触发等。

使用特权

评论回复
38
4c1l|  楼主 | 2023-11-22 12:15 | 只看该作者
EXIT外部中断具体使用:

第一步,配置RCC,把使用到的外部时钟都开启(开启两个)

GPIO和AFIO都是在APB2总线上,所以开启APB2时钟

NVIC和EXIT外设的时钟是一直打开的不需要手动去开启时钟

使用特权

评论回复
39
4c1l|  楼主 | 2023-11-22 12:15 | 只看该作者
第二步: 配置GPIO,选择端口为输入模式(不清楚外设的输出模式可以参考数据手册系统推荐)

具体步骤看GPIO笔记

使用特权

评论回复
40
4c1l|  楼主 | 2023-11-22 12:15 | 只看该作者
第三步:配置AFIO,选择用到的一路GPIO,连接到后面的EXIT

AFIO的库函数文件和GPIO是在同一个文件中

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则