13. TPBasic_STM32F405RGT6的外部中断使用¶
13.1. 一、什么是TPBasic_STM32F405RGT6最小系统板¶
TPBasic_STM32F405RGT6最小系统板是基于STM32F405RGT6芯片开发制作的最小系统板,方便开发与集成使用。
13.2. 二、利用TPBasic_STM32F405RGT6最小系统板学习外部中断的使用¶
13.3. 1、具体要求¶
1,DS0 LED灯(连接在PB9)
- 2,DS1 LED灯(连接在PB10)
- 2,蜂鸣器(连接在PB8) 3,按键KEY0(PA3)/KEY1(PA4)/KEY2(PA5)/KEY_UP(PA0,也称之为WK_UP)
13.4. 2、所需器件¶
- TPBasic_STM32F405RGT6最小系统板 一块
- 杜邦线 若干根
- 按键 四个
- 蜂鸣器 一个
- LED灯 二个
13.5. 三、制作主要过程¶
13.6. 1、制作流程¶
通过开发外接的4个按 钮(KEY_UP、KEY0、KEY1和KEY2),来控制外接的2个LED(DS0、DS1)和蜂鸣器 ,其中WK_UP控制蜂鸣器,按一次叫,再按一次停;KEY2控制DS0,按一次亮,再按 一次灭;KEY1控制DS1,效果同KEY2;KEY0则同时控制DS0和DS1,按一次,他们的 状态就翻转一次。
13.7. 2、主要代码¶
#include "sys.h" #include "delay.h" #include "usart.h" #include "led.h" #include "beep.h" #include "key.h" #include "exti.h"
int main(void) {
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2 delay_init(168); //初始化延时函数
LED_Init(); //初始化LED端口 BEEP_Init(); //初始化蜂鸣器端口 EXTIX_Init(); //初始化外部中断输入 LED0=0; //先点亮红灯 while(1) { }
}