文章目录

  • 一、环境
  • 二、使用stm32CubeMX创建文件
  • 三、配置代码
    • 1、编译、烧录
    • 2、效果
  • 四、总结
  • 五、参考资料

一、环境

  • 硬件:stm32f103c8t6 核心板
  • 软件:STM32CubeMX 6.4.0
  • 软件:keil5 mdk

二、使用stm32CubeMX创建文件

  1. 创建新项目,搜索框找到自己的板子型号

  2. 时钟RCC配置,将HSE选为外部晶振模式

  3. 管脚配置
    选择PA5作为LED灯的连接管脚,PB9 作为杜邦线(等价于开关)的连接管脚;具体配置是:左击PA5端口选择GPIO_Output模式,PB9设为EXTI。

  4. SYS设置,选择Serial Wire模式。

  5. GPIO管脚设置

点击左侧GPIO,PA5是高电平触发,所以不需要改变设置,别名设为**“A5_LED”,选中PB9,将GPIO Mode设置为下降沿触发外部中断;
将GPIO 设置为上拉电阻模式
(Pull-up**);别名设置为B9_EXTI

6.NVIC配置,

勾选下方选项表示支持中断操作。

  1. 时钟树设置
  2. 设置工程路径、工程名
  3. 设置工程文件,并导出

三、配置代码

直接打开keil项目或者关闭STMCube再打开对应文件。并在main.c文件的main函数外重写一个回调函数。

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
if( GPIO_Pin == B9_EXTI_Pin) //判断中断源
{
HAL_GPIO_TogglePin(GPIOA, A5_LED_Pin); //翻转led管脚 A1口的电平
}
}

1、编译、烧录


2、效果

VID_20221023_205054


四、总结

学习了中断模式,并将其成功的应用在了LED的亮灭上,又一次使用STMCube进行HAL库的设置,增加了对STMCube的熟练操作。

五、参考资料

https://blog.csdn.net/qq_47281915/article/details/121024427

采用中断模式编程并使用杜邦线模拟开关实现LED灯的亮灭相关推荐

  1. cc2530 按键中断实验——按键控制LED灯的亮灭

    在本次学习中,主要通过外部中断来控制LED的亮灭. 首先,先查看相关电路图.由图可知,当CC2530端口1的1号引脚输出低电平时,LED3将被点亮,当按键31按下时,端口1的1号引脚将为低电平,抬起时 ...

  2. 02讲 | 51单片机按键外部中断实现LED灯的亮灭

    前言 专栏内容持续补充更新,目前正在进行优惠活动! 目录 一.按键中断控制原理 二.外部中断实现 LED 灯亮灭功能代码

  3. 用stm32F103核心板的GPIOA端一管脚接一个LED,GPIOB端口一引脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,LED亮灯;接低电平时,LED灭灯。

    一.通过STMcube创建项目 1.配置引脚 2.配置exit 3.配置sys 4.配置gpio 5.创建项目生成代码 点击右上角GENERAT CODE 二.通过keil5编辑并修改部分代码 在打开 ...

  4. mini2440A 裸机编程:串口控制LED灯的亮灭

    要求 在PC上发送L11控制开发板led1亮,发送L10控制开发板led1灭: 在PC上发送L21控制开发板led2亮,发送L20控制开发板led2灭: 在PC上发送L31控制开发板led3亮,发送L ...

  5. 51单片机主函数实现P1口120ms间隔从P1.7口向右循环进行流水灯每次只能亮一个,进入外部中断是进行120ms的延时灯的亮灭各一次

    51单片机主函数实现P1口120ms间隔从P1.7口向右循环进行流水灯每次只能亮一个,进入外部中断是进行120ms的延时灯的亮灭各一次 #include <reg51.h> #includ ...

  6. ADSP-21489的开发详解:VDSP+自己编程写代码开发(4-按键控制 LED 灯)(含源代码)

    硬件准备 ADSP-21489EVB:ADI 21489处理器的开发板 AD-HP530ICE:ADI DSP专用仿真器 USBi:ADI SigmaDSP和SHARC DSP的图形化编程调试器 软件 ...

  7. STM32利用中断实现LED亮灭和串口通信的收发

    HAL库的中断函数学习 一.题目要求 二.实现LED亮灭 01 CubeMx配置 02 Keil配置 03 实例演示 三.串口中断通信 01 CubeMx配置 02 Keil配置 03 实例演示 四. ...

  8. stm32中断实现LED灯亮灭

    一.中断 1.基本概念 在处理器中,中断是一个过程,即CPU在正常执行程序的过程中,遇到外部/内部的紧急事件需要处理,暂时中止当前程序的执行,转而去为处理紧急的事件,待处理完毕后再返回被打断的程序处继 ...

  9. 嵌入式Qt5.6应用编程之触摸屏控制LED灯 - JZ2440V3

    (本人业余时间接相关外包,欢迎联系!) linux内核版本:3.4.2 qt 版本:5.6.0 交叉编译工具:arm-linuxgcc 4.4.3 开发板:JZ2440V3 linux驱动编程环境:v ...

  10. 采用STM32外部中断模式控制LED灯亮灭

    文章目录 实验工具 一.STMCube配置项目 1.配置引脚 2.配置EXIT 3.配置SYS 4.配置GPIO 5.创建代码 二.使用KEil配置代码 1.打开生成的项目,找到stm32f1xx_i ...

最新文章

  1. 查询当前Oracle数据库的实例
  2. [转]数据结构:图的存储结构之邻接多重表
  3. 云原生首超Linux成最热,92%公司表示开源人才留不住|Linux基金会最新报告
  4. prototype.js常用函数及其用法
  5. sqoop增量导入hdfs和导出
  6. html flex 表单样式,Flexbox 布局的最简单表单的实现
  7. mysql:mysql安装及一些配置和图形界面介绍
  8. node socketlog
  9. zxr10交换机配置手册vlan_中兴ZXR10交换机配置
  10. 用js屏蔽脚本加载的广告
  11. 读《拆掉思维的墙》小记
  12. matlab幼苗识别,基于MATLAB的植物幼苗识别
  13. 我已经可以想象,疫情结束后全国男生会……
  14. 经典非局部均值滤波(NLM)算法python实现(2)
  15. oracle数据库merge into,merge into 的用法
  16. Python-opencv学习第二十九课:高斯双边模糊
  17. 达梦数据库恢复到指定时间点
  18. 深度学习入门笔记(十二):深度学习数据读取
  19. 【Linux】vim文本编辑器的使用
  20. TOM企业邮箱安全卫士告诉你,如何告别邮箱被盗

热门文章

  1. cesium加载天地图的卫星影像图
  2. mysql relay log.info_技术分享 | slave_relay_log_info 表认知的一些展开
  3. 让大疆灵眸 OSMO 口袋云台相机支持直播
  4. 基于主成分分析法的PCA人脸识别算法实现
  5. VS Code 字体推荐
  6. 【论文阅读笔记】Ocean: 目标感知的Anchor-free实时跟踪器,速度70+FPS!刚开源(更新中)
  7. html怎样 做二级菜单,HTML制作二级下拉菜单的方法步骤
  8. 如何使用Three.js为3D模型构建Color Customizer应用
  9. 项目技术管理经验总结
  10. C/C++遍历文件夹指定文件