stm32外部中断模式控制灯亮灭
文章目录
- 前言
- 一丶通过STMCube配置项目
- 1.引脚配置如图
- 2.配置EXIT
- 3.配置SYS
- 4.配置GPIO
- 5.代码创建出勾上这个
- 6.创建项目
- 二、通过KEil配置代码
- 1.打开生成的项目,找到stm32f1xx_it.c
- 2.找到EXTI9_5_IRQHandler这个函数,选中HAL_GPIO_EXTI_IRQHandler这个语句按F12跳到该函数
- 3.往下找到HAL_GPIO_EXTI_Callback这个函数
- 4.编译生成hex文件
- 5.通过FlyMcu进行烧录
- 三、效果
- 四、参考
前言
软件版本:
STM32CubeMX:6.30
KEIl:5.31
FlyMcu:0.188
硬件:
STM32F103C8T
一丶通过STMCube配置项目
1.引脚配置如图
A4输出控制灯的亮灭,设置为GPIO_Output
A1持续输出高电平,设置同上
A7持续输出低电平,设置同上
C13个人习惯开启做测试用,设置同上
B5模拟开关,设置为GPIO_EXTI5
2.配置EXIT
3.配置SYS
4.配置GPIO
把A1配置为高电平、A7配置为低电平
把B5中断配置为上升沿和下降沿都触发
User Label可以为当前引脚设置一个别名,方便后续自己调用。
5.代码创建出勾上这个
6.创建项目
二、通过KEil配置代码
1.打开生成的项目,找到stm32f1xx_it.c
2.找到EXTI9_5_IRQHandler这个函数,选中HAL_GPIO_EXTI_IRQHandler这个语句按F12跳到该函数
3.往下找到HAL_GPIO_EXTI_Callback这个函数
该函数是给用户自己重写的,可以在这里根据不同的中断来执行不同的处理。在这里我们需要根据B5的不同中断来实现A4的亮灭。
函数代码
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){if(GPIO_Pin == SWITCH_Pin){//获取B5的电位GPIO_PinState pinState = HAL_GPIO_ReadPin(SWITCH_GPIO_Port,SWITCH_Pin);//低电位if(pinState==GPIO_PIN_RESET)HAL_GPIO_WritePin(LED_A4_GPIO_Port,LED_A4_Pin,GPIO_PIN_RESET);//把A4变为低电位//高电位elseHAL_GPIO_WritePin(LED_A4_GPIO_Port,LED_A4_Pin,GPIO_PIN_SET);//把A4变为高电位}}
4.编译生成hex文件
5.通过FlyMcu进行烧录
三、效果
说明:
因为抖动的原因,当B5什么也不接入的时候,LED灯一直在频繁闪,看起来是亮的,但是不是很亮。当B5接入高电平后LED明显变亮。当B5接低电平后LED直接熄灭。
四、参考
https://blog.csdn.net/toopoo/article/details/79711903
stm32外部中断模式控制灯亮灭相关推荐
- 采用STM32外部中断模式控制LED灯亮灭
文章目录 实验工具 一.STMCube配置项目 1.配置引脚 2.配置EXIT 3.配置SYS 4.配置GPIO 5.创建代码 二.使用KEil配置代码 1.打开生成的项目,找到stm32f1xx_i ...
- 基于STC15W4K32S4单片机仿真《外部中断INT0控制LED亮灭》
1. 编 程 软 件:keil5版本. 2.仿 真 软 件:Proteus8.12 3.单片机选型:STC15W4K32S4 4.学 习 目 标: 1.学习外部中断INT0 5.程 序 文 件 : ...
- 【单片机仿真项目】 外部中断0控制发光二极管亮灭
目录 1.keil工程代码 2.外部中断0控制发光二极管亮灭 proteus 原理图
- 【嵌入式】——串口实验——实现芯片串口收发数据,按键中断串口发送数据,串口接收数据中断来控制LED亮/灭
实验目的: 实现芯片串口收发数据,按键中断串口发送数据:按下按键,向串口发送数据,并通过虚拟终端显示出来: 串口接收数据中断来控制LED亮/灭:通过串口助手向MCU发送数据,"A" ...
- esp8266接入百度云,使用客户端控制灯亮灭
esp8266接入百度云 摘要:本篇文章介绍了esp8266如何接入百度云的整个流程,最终实现一个简单的小demo,通过mqtt客户端去去控制esp8266上小灯的点亮与关闭.文章包含三个部分: 一. ...
- stm32中断实现LED灯亮灭
一.中断 1.基本概念 在处理器中,中断是一个过程,即CPU在正常执行程序的过程中,遇到外部/内部的紧急事件需要处理,暂时中止当前程序的执行,转而去为处理紧急的事件,待处理完毕后再返回被打断的程序处继 ...
- 基于51单片机的智能无线LED灯控制 蓝牙手机APP控制灯亮灭亮度方案原理图设计
硬件电路的设计 (下方附文件) 系统的功能分析及体系结构设计 3.1.1系统功能分析 本设计由STC89C52单片机电路+8位LED灯电路+蓝牙模块电路+电源电路组成. 1.通过手机APP可以控制8路 ...
- 微信小程序获取Onenet温湿度数据并控制灯亮灭
其实之前就写过类似的文章,但是看过我博客的朋友就知道,我是先写微信小程序获取onenet,然后再写esp32上云到onenet.一篇是ESP32-C3通过MQTT协议把温湿度上传到OneNet平台 ...
- c语言一个按键控制1个灯的亮灭,51 单片机:按键控制灯亮灭和闪烁
要求: 上电灯不亮,按一下按键灯亮,再按一下灯闪烁,再按一下灯闪烁更快, 再按一下灯灭.... 如此循环. 链接:http://zhidao.baidu.com/question/1639123949 ...
最新文章
- 【Django】创建项目及框架介绍,学习笔记(一)
- 【SpringCloud】Feigin-实例
- 如何自学python编程-零基础如何自学编程?
- c语言函数调用参数太少,调用input_message的参数太少在主函数中 是神马意思 大神们帮帮我...
- ios 标准 #pragma mark的用法
- BaiDu校招2016计算机视觉笔试试题
- 导出Excel神器最终版
- 软件架构设计说明书该怎么写?
- 案例|工业物联网解决方案•泵站智慧云平台
- 计算机教师考核方案,教师校园网使用考核方案范文
- 互联网行业定制网站需要多少钱
- 汉诺塔自动解题动画中的iOS开发技巧
- 伸展树(一) - 图文解析与C语言实现
- bedtools 批量提取snp前后1000bp片段
- PHp勾股定理,2.6 探索勾股定理(1)
- 2015华为暑期实习面试全过程
- HTML5 javascript实现音乐播放器
- java eden区_从实际案例聊聊Java应用因为Eden区设置不当导致的慢GC问题
- Drools决策表+SpringBoot使用及语法详解
- 抓取Foursquare网页信息的爬虫
热门文章
- Behavior Designer 干货总结
- 全员降薪 65% 五个月,核心高管不领工资:再明星的教育机构也没躲过去啊......
- Linux Ubuntu命令大全
- 你知道如何识别图片吗?
- 爱拼t6输入法 v3.10 完整版 免费下载
- LeetCode 整数转罗马数字
- python字符是什么意思_python的str是什么意思?
- python输出26个大写字母怎么读_26个大写字母里的每个字母怎么读?
- [LeetCode](面试题 08.11)硬币
- 不同类型的公司纳税有何区别?