本帖最后由 hello、C 于 2020-6-16 22:23 编辑
使用MM32 eMiniBoard开发板,外部中断测试
今天有时间来看看MM32 eMiniBoard开发板的试用例程,选用的是 Lib版本的外部中断例程EXIT中EXTI_KEY例程。我们用KEIL载入例程,编译下载程序到目标板后,分别按键K1、K2、K3、K4,并没有按照预想的那样的结果。K1、K2按键无效果;按键K3,LD2亮灭变化;按键K4,LD1亮灭变化;LD3常亮;LD4常灭。
1. 查阅了led.c程序文件及LED1、LED2、LED3、LED4的电路原理图后,并没有什么问题。
2. 查阅了key.c程序文件及K1、K2、K3、K4的电路原理图后,发现了一些问题。
a. LED1、LED2、LED3、LED4在led.h中的引脚分配关系与电路原理图有不符的情况。
b. K1、K2、K3、K4在key模块程序中的引脚分配关系与电路原理图有不符的情况。
c. K1、K2、K3、K4的上下拉配置,与边沿检测配置,部分出现了问题。当然在中断中键值得处理上也就出现了一些问题。
更改了很多东西。。。已基本更改完成,除了K2问题导致的3.3V供电电压没有供应过去之外,其余都已调好(这条作废,硬件连接上没有问题)。
2020.06.16 更新
我们先来看看K1、K2、K3、K4的硬件原理图:
首先我们仔细看下按键的连接图,有如下几个特点(按键引脚别称属于自定义,可能与实际不符,仅作为参考,只拿来说明一些问题):
a. K1按键 1脚 接至 R13 作为外部中断检测输入,2脚接至VDD,3脚接至GND。
b. K2、K3、K4按键的 1脚 分别接至 R14、R16、R21 作为外部中断检测输入,2脚、3脚都接至GND。
因此K1输入引脚配置为下拉输入或者浮空输入模式,检测上升沿; K2、K3、K4输入引脚配置为上拉输入模式,检测下降沿。修改完后,都是在按键按下触发LD输出电平翻转,测试结果一切都正常了!
下面为修改后的参考工程代码:
|