采用中断模式编程并使用杜邦线模拟开关实现LED灯的亮灭
文章目录
- 一、环境
- 二、使用stm32CubeMX创建文件
- 三、配置代码
- 1、编译、烧录
- 2、效果
- 四、总结
- 五、参考资料
一、环境
- 硬件:stm32f103c8t6 核心板
- 软件:STM32CubeMX 6.4.0
- 软件:keil5 mdk
二、使用stm32CubeMX创建文件
创建新项目,搜索框找到自己的板子型号
时钟RCC配置,将HSE选为外部晶振模式
管脚配置
选择PA5作为LED灯的连接管脚,PB9 作为杜邦线(等价于开关)的连接管脚;具体配置是:左击PA5端口选择GPIO_Output模式,PB9设为EXTI。
SYS设置,选择Serial Wire模式。
GPIO管脚设置
点击左侧GPIO,PA5是高电平触发,所以不需要改变设置,别名设为**“A5_LED”,选中PB9,将GPIO Mode设置为下降沿触发外部中断;
将GPIO 设置为上拉电阻模式(Pull-up**);别名设置为B9_EXTI。
6.NVIC配置,
勾选下方选项表示支持中断操作。
- 时钟树设置
- 设置工程路径、工程名
- 设置工程文件,并导出
三、配置代码
直接打开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灯的亮灭相关推荐
- cc2530 按键中断实验——按键控制LED灯的亮灭
在本次学习中,主要通过外部中断来控制LED的亮灭. 首先,先查看相关电路图.由图可知,当CC2530端口1的1号引脚输出低电平时,LED3将被点亮,当按键31按下时,端口1的1号引脚将为低电平,抬起时 ...
- 02讲 | 51单片机按键外部中断实现LED灯的亮灭
前言 专栏内容持续补充更新,目前正在进行优惠活动! 目录 一.按键中断控制原理 二.外部中断实现 LED 灯亮灭功能代码
- 用stm32F103核心板的GPIOA端一管脚接一个LED,GPIOB端口一引脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,LED亮灯;接低电平时,LED灭灯。
一.通过STMcube创建项目 1.配置引脚 2.配置exit 3.配置sys 4.配置gpio 5.创建项目生成代码 点击右上角GENERAT CODE 二.通过keil5编辑并修改部分代码 在打开 ...
- mini2440A 裸机编程:串口控制LED灯的亮灭
要求 在PC上发送L11控制开发板led1亮,发送L10控制开发板led1灭: 在PC上发送L21控制开发板led2亮,发送L20控制开发板led2灭: 在PC上发送L31控制开发板led3亮,发送L ...
- 51单片机主函数实现P1口120ms间隔从P1.7口向右循环进行流水灯每次只能亮一个,进入外部中断是进行120ms的延时灯的亮灭各一次
51单片机主函数实现P1口120ms间隔从P1.7口向右循环进行流水灯每次只能亮一个,进入外部中断是进行120ms的延时灯的亮灭各一次 #include <reg51.h> #includ ...
- ADSP-21489的开发详解:VDSP+自己编程写代码开发(4-按键控制 LED 灯)(含源代码)
硬件准备 ADSP-21489EVB:ADI 21489处理器的开发板 AD-HP530ICE:ADI DSP专用仿真器 USBi:ADI SigmaDSP和SHARC DSP的图形化编程调试器 软件 ...
- STM32利用中断实现LED亮灭和串口通信的收发
HAL库的中断函数学习 一.题目要求 二.实现LED亮灭 01 CubeMx配置 02 Keil配置 03 实例演示 三.串口中断通信 01 CubeMx配置 02 Keil配置 03 实例演示 四. ...
- stm32中断实现LED灯亮灭
一.中断 1.基本概念 在处理器中,中断是一个过程,即CPU在正常执行程序的过程中,遇到外部/内部的紧急事件需要处理,暂时中止当前程序的执行,转而去为处理紧急的事件,待处理完毕后再返回被打断的程序处继 ...
- 嵌入式Qt5.6应用编程之触摸屏控制LED灯 - JZ2440V3
(本人业余时间接相关外包,欢迎联系!) linux内核版本:3.4.2 qt 版本:5.6.0 交叉编译工具:arm-linuxgcc 4.4.3 开发板:JZ2440V3 linux驱动编程环境:v ...
- 采用STM32外部中断模式控制LED灯亮灭
文章目录 实验工具 一.STMCube配置项目 1.配置引脚 2.配置EXIT 3.配置SYS 4.配置GPIO 5.创建代码 二.使用KEil配置代码 1.打开生成的项目,找到stm32f1xx_i ...
最新文章
- 查询当前Oracle数据库的实例
- [转]数据结构:图的存储结构之邻接多重表
- 云原生首超Linux成最热,92%公司表示开源人才留不住|Linux基金会最新报告
- prototype.js常用函数及其用法
- sqoop增量导入hdfs和导出
- html flex 表单样式,Flexbox 布局的最简单表单的实现
- mysql:mysql安装及一些配置和图形界面介绍
- node socketlog
- zxr10交换机配置手册vlan_中兴ZXR10交换机配置
- 用js屏蔽脚本加载的广告
- 读《拆掉思维的墙》小记
- matlab幼苗识别,基于MATLAB的植物幼苗识别
- 我已经可以想象,疫情结束后全国男生会……
- 经典非局部均值滤波(NLM)算法python实现(2)
- oracle数据库merge into,merge into 的用法
- Python-opencv学习第二十九课:高斯双边模糊
- 达梦数据库恢复到指定时间点
- 深度学习入门笔记(十二):深度学习数据读取
- 【Linux】vim文本编辑器的使用
- TOM企业邮箱安全卫士告诉你,如何告别邮箱被盗
热门文章
- cesium加载天地图的卫星影像图
- mysql relay log.info_技术分享 | slave_relay_log_info 表认知的一些展开
- 让大疆灵眸 OSMO 口袋云台相机支持直播
- 基于主成分分析法的PCA人脸识别算法实现
- VS Code 字体推荐
- 【论文阅读笔记】Ocean: 目标感知的Anchor-free实时跟踪器,速度70+FPS!刚开源(更新中)
- html怎样 做二级菜单,HTML制作二级下拉菜单的方法步骤
- 如何使用Three.js为3D模型构建Color Customizer应用
- 项目技术管理经验总结
- C/C++遍历文件夹指定文件