首页 > 生活常识 >

问 exynos4412 有几种外部输入 中断外部输入详解

2026-11-06 16:58:26
最佳答案

答

exynos4412 的外部中断也就是外部输入一共是 24 组,也就是 commonly 常说的 EXTI,对应芯片的外部中断控制器,一共 24 个外部中断输入通道,编号是 EINT0 到 EINT23,这是嵌入式开发学习 exynos4412 最核心的考点,很多初学者容易混淆,是因为 exynos4412 的 GPIO 端口非常多,并不是所有 GPIO 都能作为外部输入中断,只有这 24 路专用外部中断引脚可以配置成外部输入触发中断,其余普通 GPIO 只能做普通输入输出,不能触发外部中断,这个是芯片硬件设计决定的,由芯片内部 VIC 中断控制器和外部中断寄存器固定分配,硬件固化,软件不能额外增加外部输入通道,学习的时候要区分普通 GPIO 输入和外部中断输入,普通 GPIO 读取电平属于普通输入功能,不属于题目所问的外部中断输入。

基础硬件说明

exynos4412 是三星 Cortex A9 四核处理器,外部中断模块就是外部输入触发模块,支持多种触发方式,包含低电平触发,高电平触发,下降沿触发,上升沿触发,双边沿触发,每一路 EINT 外部输入都可以独立配置触发模式。

通道列表 EINT0 EINT1 EINT2 EINT3 EINT4 EINT5 EINT6 EINT7 EINT8 EINT9 EINT10 EINT11 EINT12 EINT13 EINT14 EINT15 EINT16 EINT17 EINT18 EINT19 EINT20 EINT21 EINT22 EINT23,合计 24 路外部输入。

相关寄存器说明

1 EXT_CONn 外部中断控制寄存器,用来配置每一路外部输入的触发方式

2 EXT_MASK 外部中断屏蔽寄存器,用来打开或者关闭对应的外部输入

3 EXT_PEND 外部中断挂起寄存器,外部输入触发之后标志位会置 1,中断处理完成需要手动写 1 清除标志

区分普通 GPIO 输入和外部中断输入

项目外部中断外部输入 EINT普通 GPIO 输入
数量固定 24 路数量更多,分布在各个 GPIO 端口
功能可以触发中断,CPU 可以响应事件只能主动读取电平,没有中断能力
配置寄存器EXT_CON EXT_MASK EXT_PENDGPIO CON GPIO DAT
典型用途按键 外部传感器信号 外部脉冲读取开关电平 简单 IO 检测

开发配置步骤

第一步 找到原理图,确认硬件接的是哪一路 EINT 外部输入引脚

第二步 配置 GPIO 复用功能,把该引脚设置成外部中断 EINT 模式

第三步 写 EXT_CON 寄存器,选定触发方式,上升沿下降沿高低电平或者双边沿

第四步 配置 EXT_MASK,取消对应外部输入的屏蔽,开启中断

第五步 在中断向量表注册中断服务函数,在中断函数里面处理业务,最后清除 EXT_PEND 挂起标志

易错要点

第一 不要把全部 GPIO 都当成外部输入,只有 EINT0 到 EINT23 这 24 路是外部中断输入

第二 很多开发板只引出其中一部分 EINT 引脚,不是 24 路全部都在开发板上外接外设,但是芯片本身硬件是具备 24 路外部输入

第三 外部输入触发之后,如果没有清除 PEND 标志,会反复进入中断,这是裸机开发高频 bug

【常见问题】

问题 1 exynos4412 有几种外部输入 支持哪几种触发方式

回答 1 exynos4412 一共有 24 路外部输入也就是 EINT0 到 EINT23,每一路外部输入支持低电平触发高电平触发上升沿触发下降沿触发双边沿触发这几种触发方式。

问题 2 exynos4412 有几种外部输入 普通 GPIO 算不算外部输入

回答 2 exynos4412 的外部输入特指外部中断 EINT 通道一共 24 路,普通 GPIO 只是普通电平输入,不能触发中断,不算题目所指的外部输入。

问题 3 exynos4412 有几种外部输入 开发板是不是全部 24 路都引出

回答 3 芯片本身硬件设计 exynos4412 有 24 路外部输入,但是具体开发板原理图一般只会引出部分外部输入引脚,其余引脚没有外接外设。

【免责申明】

本内容基于 exynos4412 芯片手册常规知识点整理,不同版本手册表述和开发板硬件设计存在差异,开发请以原厂 datasheet 和原理图为准,本内容仅作为学习参考。