文章目录

  • 前言
  • 一丶通过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外部中断模式控制灯亮灭相关推荐

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

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

  2. 基于STC15W4K32S4单片机仿真《外部中断INT0控制LED亮灭》

    1. 编 程 软 件:keil5版本. 2.仿 真 软 件:Proteus8.12 3.单片机选型:STC15W4K32S4 4.学 习 目 标:   1.学习外部中断INT0 5.程 序 文 件 : ...

  3. 【单片机仿真项目】 外部中断0控制发光二极管亮灭

    目录 1.keil工程代码 2.外部中断0控制发光二极管亮灭 proteus 原理图

  4. 【嵌入式】——串口实验——实现芯片串口收发数据,按键中断串口发送数据,串口接收数据中断来控制LED亮/灭

    实验目的: 实现芯片串口收发数据,按键中断串口发送数据:按下按键,向串口发送数据,并通过虚拟终端显示出来: 串口接收数据中断来控制LED亮/灭:通过串口助手向MCU发送数据,"A" ...

  5. esp8266接入百度云,使用客户端控制灯亮灭

    esp8266接入百度云 摘要:本篇文章介绍了esp8266如何接入百度云的整个流程,最终实现一个简单的小demo,通过mqtt客户端去去控制esp8266上小灯的点亮与关闭.文章包含三个部分: 一. ...

  6. stm32中断实现LED灯亮灭

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

  7. 基于51单片机的智能无线LED灯控制 蓝牙手机APP控制灯亮灭亮度方案原理图设计

    硬件电路的设计 (下方附文件) 系统的功能分析及体系结构设计 3.1.1系统功能分析 本设计由STC89C52单片机电路+8位LED灯电路+蓝牙模块电路+电源电路组成. 1.通过手机APP可以控制8路 ...

  8. 微信小程序获取Onenet温湿度数据并控制灯亮灭

    ​ 其实之前就写过类似的文章,但是看过我博客的朋友就知道,我是先写微信小程序获取onenet,然后再写esp32上云到onenet.一篇是ESP32-C3通过MQTT协议把温湿度上传到OneNet平台 ...

  9. c语言一个按键控制1个灯的亮灭,51 单片机:按键控制灯亮灭和闪烁

    要求: 上电灯不亮,按一下按键灯亮,再按一下灯闪烁,再按一下灯闪烁更快, 再按一下灯灭.... 如此循环. 链接:http://zhidao.baidu.com/question/1639123949 ...

最新文章

  1. 【Django】创建项目及框架介绍,学习笔记(一)
  2. 【SpringCloud】Feigin-实例
  3. 如何自学python编程-零基础如何自学编程?
  4. c语言函数调用参数太少,调用input_message的参数太少在主函数中 是神马意思 大神们帮帮我...
  5. ios 标准 #pragma mark的用法
  6. BaiDu校招2016计算机视觉笔试试题
  7. 导出Excel神器最终版
  8. 软件架构设计说明书该怎么写?
  9. 案例|工业物联网解决方案•泵站智慧云平台
  10. 计算机教师考核方案,教师校园网使用考核方案范文
  11. 互联网行业定制网站需要多少钱
  12. 汉诺塔自动解题动画中的iOS开发技巧
  13. 伸展树(一) - 图文解析与C语言实现
  14. bedtools 批量提取snp前后1000bp片段
  15. PHp勾股定理,2.6 探索勾股定理(1)
  16. 2015华为暑期实习面试全过程
  17. HTML5 javascript实现音乐播放器
  18. java eden区_从实际案例聊聊Java应用因为Eden区设置不当导致的慢GC问题
  19. Drools决策表+SpringBoot使用及语法详解
  20. 抓取Foursquare网页信息的爬虫

热门文章

  1. Behavior Designer 干货总结
  2. 全员降薪 65% 五个月,核心高管不领工资:再明星的教育机构也没躲过去啊......
  3. Linux Ubuntu命令大全
  4. 你知道如何识别图片吗?
  5. 爱拼t6输入法 v3.10 完整版 免费下载
  6. LeetCode 整数转罗马数字
  7. python字符是什么意思_python的str是什么意思?
  8. python输出26个大写字母怎么读_26个大写字母里的每个字母怎么读?
  9. [LeetCode](面试题 08.11)硬币
  10. 不同类型的公司纳税有何区别?