任务内容:采用中断方式检测按键B1的状态,按键按下后执行如下操作:翻转指示灯LD2的状态

硬件原理:按键B1由引脚PC13控制:按键按下时为下降沿触发方式,释放时为上升沿触发方式。指示灯LD2由引脚PA5控制:PA5输出高电平,开启指示灯;PA5输出低电平,关闭指示灯。

目录

一,proteus 放置器件

1. 新建项目

2. 选择器件

3. 开始连线

二,STM32cubeMX 进行工程文件的预配置

1. 新建工程文件选择

2. 分析题意 设置引脚

3. 配置完成生成工程文件跳转keil5

三,Keil 编写具体实现代码

1. 编写实现的中断函数

2. 开始仿真


一,proteus 放置器件

1. 新建项目

Next-----next----

两次默认下一次即可

选择创建 firmware project

Cortex-M4

STM32F401RE

Finish 完成

2. 选择器件

我们需要 led灯 按键 电阻

搜索  LED-RED BUTTON RES  双击添加

3. 开始连线

分析题意

引脚PC13 控制按键B1

引脚PA5 控制LD2

最终连接如下图所示

3.1你可能会遇到的问题

1).如何放置器件?

点击器件后 在点击合适的位置两下 即可放下

线与线的连接 建议直线连接 可适当调整器件的位置

2).led灯选择角度位置怎么调?

可以rotate 进行调整角度的问题

3).哪里找GND?

如下图

proteus器件接好了暂时不需要管这个了  开始进行代码的编写

二,STM32cubeMX 进行工程文件的预配置

1. 新建工程文件选择

2. 分析题意 设置引脚

引脚PC13配置成中断模式检测按键B1(控制按键B1)按键按下时为下降沿触发方式,释放时为上升沿触发方式

采用中断方式检测按键B1的状态 需开启中断

引脚PA5 输出高低电平 所以将PA5设置为输出模式

注意配置NVIC 因为我们使用了EXTI13

3. 配置完成生成工程文件跳转keil5

注意:要先命名

三,Keil 编写具体实现代码

1. 编写实现的中断函数

在这里的中断 是说按键一旦检测到中断  程序的pc指针 会跳到指定地址 执行我们预先设定好的代码

在main.c文件中

/* USER CODE BEGIN 4 */

/* USER CODE END 4 */

的位置添加代码

/* USER CODE BEGIN 4 */

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)

{

if(GPIO_Pin==GPIO_PIN_13)

{

HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5);

}

}

/* USER CODE END 4 */

点击ok这样就可以进行编译了

2. 开始仿真

双击板子 进入页面 进入工程文件夹目录 \MDK-ARM\10_23\10_23.hex

选择 刚刚编译生成的hex文件、

点击按钮开始仿真

按下按键

 实验成功

7.4任务实践STM32F401RE :中断方式检测按键相关推荐

  1. linux驱动的中断函数,嵌入式Linux驱动开发(四)——字符设备驱动之中断方式以及中断方式获取按键值...

    之前我们完成了关于通过查询的方式获取按键键值的驱动程序,可以参考:嵌入式Linux开发--裸板程序之中断控制器. 虽然读取键值没有什么问题,但是测试程序占用CPU过高,一直在不断的查询,资源消耗过大, ...

  2. 从ARM裸机看驱动之按键中断方式控制LED(二)

    硬件环境:Samsung Cortex-A9 Exynos4412 BSP 软件环境:Linux3.14 =============================================== ...

  3. 从ARM裸机看驱动之按键中断方式控制LED(一)

    硬件环境:Samsung Cortex-A9 Exynos4412 BSP + JTAG ARM 仿真器 软件环境:Eclipse ================================== ...

  4. 字符设备驱动笔记——中断方式按键驱动之linux异常处理结构(四)

    1.中断方式获取按键值单片机: 1)按键按下 2)cup发生中断,跳转到异常向量入口执行 3)b 函数a.保存被中断的现场b.执行中断处理函数c.恢复 linux: 1)trap_init()函数构造 ...

  5. (五)DSP28335基础教程——外部中断控制(按键触发)

    0 前言 本期实验目标:采用外部中断方式响应按键触发,实现LED电平反转. 外部中断是DSP十分常用的功能,通常用来响应一些控制操作,比如判断按键是否按下,传感器是否接收到信号等等.那么通过该例程,大 ...

  6. (转)嵌入式按键驱动,支持短按、长按、双击(中断方式)

    轮训方式连接:https://blog.csdn.net/Golf_research/article/details/52760320  目录: 1:概述 2:stm32外部中断配置 3:code 概 ...

  7. 433遥控器无线解码 1527中断方式解码 51单片机

    433遥控器无线解码 1527中断方式解码 51单片机 这版为1527遥控器解码,是为了项目洗臀器做遥控器控制.1527遥控器原理如下. 码分别为:同步码 地址码20位 键码4位(也可以同步码16位 ...

  8. 【计算机原理与接口技术(UNIX)⑲ 完结篇】——可编程计数器 8254 [ 流光发生器、8254工作方式检测程序的设计]

    ✅ 通过对 [计算机与UNIX汇编原理 ① ~ ⑫]的学习,我们已经大致掌握了汇编程序设计的相关知识 接下来,我将其分栏名改为 [计算机原理与接口技术(UNIX) ],重点将放在 "计算机原 ...

  9. STM32学习笔记-SMT32使用HAL库UART中断方式使用

    目录 1.引言 2.配置 3.流程 1.引言 近来需要使用蓝牙模块,再了解到蓝牙模块等无线模块许多使用串口透传,便决定在研究一下串口UART 的使用方法. 由于用的板子种类每次都不一样,有F103 有 ...

最新文章

  1. 【网络流24题】最小路径覆盖问题
  2. getRotationMatrix2D 函数
  3. c语言实验报告超市购物系统,C语言超市购物管理系统的报告.doc
  4. 给RadioButtonList这些加JS事件
  5. I2C与SPI总线对比
  6. java类中定义索引器,C#面向对象基础——字段、属性和索引器
  7. WSUS全攻略之二 :安装WSUS
  8. 从零开始的异世界生活(前缀和)
  9. ecplise插入图片太大_PPT文件太大?100M的PPT一秒变18M,这个压缩方法实在绝了
  10. go语言编程前景怎么样?国内Go语言布道师许式伟这样说
  11. 高价拍下巴菲特午餐的90后孙宇晨是谁?
  12. 牛腩新闻发布--页内图片不显示
  13. STM32F4内的FLASH和RAM
  14. MATHTYPE安装出现问题:无法打开要写入的文件;MathType打开word时“安全警告,宏已被禁用”;mathtype与AXmath不能同时使用
  15. linux完全卸载ffmpeg_RoboMaster视觉教程Linux(四)软件安装和卸载
  16. 金蝶财务软件服务器文件是什么,金蝶财务软件 远程服务器
  17. Sql Server 按姓氏笔画排序
  18. USB Type-C取电sink芯片 ECP5701
  19. itunes 64位官方下载中文版
  20. javascript异步编程系列【八】--Jscex版火拼俄罗斯

热门文章

  1. 科研项目绩效评价探讨︱项目绩效评价专题
  2. hud1003 max num
  3. 观察:户外墙体激光投影成全球性趋势
  4. php-ffmpeg将图片转成视频,Ffmpeg实现视频格式的转换以及截图
  5. Delphi 函数大全
  6. Android 常用接口
  7. 【三维语义分割】PointNet详解(一)
  8. java服务端验证谷歌支付Google Pay
  9. Python知识归纳(一)Python介绍及注释
  10. 【博弈心理学】赢在心理