基于STM32CubeIDE实现外部中断按钮控制LED灯亮

2023-05-16

小白入门,记录一下学习体验及过程。原文可能图片不清晰,如需下载原WORD文档,请右转:
链接:https://pan.baidu.com/s/17X8iB865ZgHgGYnUJ1bSRA
提取码:45z6

官方视频实验
网址:https://www.bilibili.com/video/BV1B7411d757?p=5

实验1:LED点亮

实验2:外部中断EXIT

实验通过BLUE_BUTTON外部中断来实现GREEN_LED的点亮
实验流程:
① 新建文件:STM32 Project
② 配置外部中断文件,对与前面的工程文件可以使用“close project”的方法将其关闭,然后重新建立工程。关闭的方法是先打开Project Explorer,然后点选右键,Close Project。
在这里插入图片描述

③ 然后新建工程,正确选择开发板STM32的型号,我的是STM32F103RB Nucleo64开发板,因此,在Part Number Search下直接搜索“103RB”即可。
在这里插入图片描述

④ next后,输入工程名称,stm32F103RB_exitTest,然后next——fish
在这里插入图片描述

⑤ 在新生成界面下,设置Pinout&Configuration, 如下图所示,在STM32F103RB开发板中,LD2对应PA5,BLUE_BUTTON对应PC13引脚,因此,这里设置PA5为输出模式,USER NAME设置为GREEN_LED2,PC13设置为外部中断输入,用户标签设置为BLUE_BUTTON
在这里插入图片描述
在这里插入图片描述
⑥ 配置GPIO,鼠标点选GPIO口,出现如下界面。然后点选PC13…,选择GPIO Mode 即端口模式,这里选择外部下降沿中断模式。如下图所示。同时,鼠标点开GPIO旁边的NVIC,在Enable一栏下打勾勾,使能。
在这里插入图片描述

⑦ 后面,我把Clock Configuration中设置了一下时钟,一般可以默认即可。这里我把时钟o总线的HCLK 输入64,这样软件会自动配置其后的时钟和Verify。
在这里插入图片描述

⑧ 生成代码。
在这里插入图片描述

⑨ 编译和代码调试。主要使用的工具如下。先点击堵头1,然后点击榔头进行编译。这时候如下图所示。
在这里插入图片描述
在这里插入图片描述

接着,我们需要在main.c中进行用户程序的录入,也就是当按下button时,led灯亮,然后再按时又熄灭的操作。
① 首先,我们打开Src下的main.c,在主程序前面定义一个变量flag。
在这里插入图片描述

② 然后修改while文件,在while中定义LED灯亮的程序。这里有个技巧是**使用快捷键“ALT+/”**来进行快速查找函数原型,同时也可以用来补充先前已经定义的用户变量,非常方便,和CodeBlock一样提示功能。
在这里插入图片描述
在这里插入图片描述

③ 修改外部触发函数,也就是在有外部触发时,将标志变量flag进行赋值,从而实现led的亮灭控制。在中断程序的用户程序地方补充一下程序,然后编译调试。
在这里插入图片描述

④ 编译,然后下载到开发板。ok!
在这里插入图片描述
在这里插入图片描述

⑤ 实验现象。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于STM32CubeIDE实现外部中断按钮控制LED灯亮 的相关文章

  • 修改sqlserver的数据库名、物理名称和逻辑文件名

    最近在一个项目上遇到需要修改数据库名称 物理文件名和逻辑名称 如下图所示 xff0c 数据库ty cms lz的物理文件名是ty cms lz mdf和ty cms lz 0 ldf xff0c 逻辑文件名是lhc cms和lhc cms
  • 解决ubuntu 16.04显示wifi已禁用

    作者所使用的电脑型号为 xff1a acer aspirs 4750G 五一小长假 xff0c 闲来无事 xff0c 把表姐尘封已久的笔记本电脑装个ubuntu学习学习 xff0c 装机过程就不多说了 xff0c 百度一大堆的方法 在这里主
  • Kali Linux下搭服务器环境

    设置SSH开机启动 xff0c 前提是客户端和服务端均已安装 xff0c 查看是否启动 xff1a span class token function ps span e span class token operator span spa
  • 运行Djongo项目

    安装 python3 https www python org downloads 设置环境变量 PY HOME C Users Terwer AppData Local Programs Python Python37 Path PY H
  • 数据结构 —— 利用栈实现回文判断

    一 先理解什么是栈 什么是回文 栈的性质 xff1a 先进后出或后进先出的特性 xff0c 栈的实现也很简单 xff0c 只需要一个一维数组和一个指向栈顶的变量top就可以了 我们通过变量top来对栈进行插入和删除操作 回文 xff1a 回
  • 【CSS】flex布局实现一行展示三个子元素并两端对齐

    本代码在微信小程序里实现 xff0c 效果如下 xff1a WXML xff1a lt view class 61 34 goods box 34 gt lt view class 61 34 list 34 gt lt view clas
  • 阿里云域名动态解析

    由于国内个宽带商基本无法对个人用户免费提供固定的公网IP地址 xff0c 所以当我们需要通过公网IP映射域名的时候 xff0c 就会出现IP总是会变 xff0c 这个时候就需要用到域名动态解析 CodePlus AliyunDns Gith
  • Windows beego 安装

    前言 xff1a 是不是在执行go get命令很慢呀 xff0c 现在发大招了 打开window终端 xff0c 执行一下命令 go env w GO111MODULE 61 on go env w GOPROXY 61 https gop
  • left join结果条数会不会大于左表行数?

    会大于 今天电话面试一道题 xff0c 面试官问我 left join结果条数会不会大于左表行数 xff1f 你都这么问了 xff0c 我怎么能随便回答 xff1a 不会吧不会吧不会吧 那举个例子 两个表test和test2 一般情况下 x
  • updateClient

    updateClient lt 64 page contentType 61 34 text html 34 pageEncoding 61 34 gbk 34 gt lt DOCTYPE html gt lt html gt lt hea
  • 课后作业之几何图形

    题目 xff1a 通过程序设计几何图形 xff08 Shape xff09 矩形 xff08 Rectangle xff09 圆形 xff08 Circle xff09 正方形 xff08 Square xff09 几种类型 xff0c 能
  • 七牛云免费对象存储,并绑定到cloudreve中

    之前开通了腾讯云的对象存储COS并使用中 xff0c 不过之前主要将它当作云盘使用 xff0c 这两天再做博客系统时发现也可以将它作为网站的图库 xff0c 这样对网站的访问效率也会提高 今天了解到七牛云有免费的对象存储可以使用 xff0c
  • [蓝桥杯]七段码(Python 实现)

    题目 xff1a 问题描述 小蓝要用七段码数码管来表示一种特殊的文字 上图给出了七段码数码管的一个图示 xff0c 数码管中一共有 7 段可以发光的二极管 xff0c 分别标记为 a b c d e f g 小蓝要选择一部分二极管 xff0
  • Anaconda变量配置

    1 首先鼠标右击打开 此电脑 的属性 xff0c 选择高级系统设置 2 选择环境变量 xff0c 并找寻系统环境变量中的Path 3 单击选中Path xff0c 选择编辑 xff0c 然后选择新建 xff0c 将路径复制到新建的位置 xf
  • java使用MySQL和HQL数据去重

    思路 先查询出满足某种条件的数据的最小ID xff0c 然后删除最小ID以外的数据就实现了去重 实例 查询最小ID的重复数据 select from oms relation model orm where orm fd id 61 sel
  • 在VS2017上配置CMake并生成OpenCV源代码工程的解决方案

    这篇博客是对之前博客 在win10下配置VS2017搭载OpenCV4 0 的补充 xff0c 还没有配置好VS2017 43 OpenCV的小伙伴可以参考一下我之前的博客 一 为什么用CMake xff1f 想要在 Windows 平台下
  • 链表,结构体,文件混合操作

    span class token macro property span class token directive keyword include span span class token string lt stdio h gt sp
  • 设置CentOS不启用图形界面 CentOS只启动后端

    CentOS不要图形界面 xff0c CentOS只开启终端就行 我用的是CentOS8 方法 xff1a vi etc inittab 以前旧的这种直接改 etc inittab方式已经不支持了 vi etc inittab initta
  • yum安装mysql简单配置版

    yum安装mysql简单配置版 yum y install mysql server root 64 bogon vi etc my cnf 在 client 之后添加一行 xff1a default character set 61 ut
  • 第一次使用GitHub

    GitHub可能是当今开源社区最火爆的版本控制和源代码托管平台 xff0c 也不知道这句话是否正确 对GitHub还很陌生 xff0c 不过其确实很热 咱跟着潮流 xff0c 也注册了账号 一 注册 登录GitHub官方网站https gi

随机推荐

  • 彻底关闭Windows更新

    第一级 在控制面板中 xff0c 关闭Windows更新 xff0c 次方法在Windows7之前的系统是可用的 xff0c 从Windows10开始 xff0c Windows更新放在了设置里 第二级 在此电脑 管理 服务和应用程序 wi
  • 端口被占用,简单快捷的解决方法

    步骤 xff1a 1 键盘上按住Win 43 R xff0c 在弹框里输入cmd并点击Enter键 2 根据自己被占用的端口号输入以下命令 xff08 测试 xff1a 被占用的8080端口 xff09 netstat ano findst
  • MySQL的操作系统和硬件优化

    MySQL服务器性能受制于整个系统最薄弱的环节 xff0c 承载它的操作系统和硬件往往是限制因素 磁盘大小 可用内存和CPU资源 网络 xff0c 以及所有连接它们的组件 xff0c 都会限制系统的最终容量 因此 xff0c 需要小心地选择
  • java连接mysql数据库useSSL问题

    背景 Java spring程序 xff0c Java版本 java version 34 1 8 0 301 34 JDBC驱动版本5 1 40 mysql connector java 5 1 40 jar xff0c 连接 proxy
  • 机器阅读理解(MRC)和问答(QA)在信息抽取中的应用

    一 机器阅读理解 xff08 MRC xff09 问答系统 xff08 QA xff09 与信息抽取 最近实体关系抽取任务和命名实体识别任务的SOTA模型排行榜中 xff0c 有很多模型使用到了机器阅读理解 xff08 MRC xff09
  • 【前端面经】Vue-Vue中的 $nextTick 有什么作用?

    Vue js 是一个流行的 JavaScript 框架 xff0c 它提供了许多实用的功能 xff0c 其中之一就是 nextTick 方法 在 Vue js 中 xff0c nextTick 方法可以确保我们在更新 DOM 之后再去执行某
  • archlinux安装virtualbox+WindowsXP虚拟机

    文章目录 概述安装vituralbox安装windows xp虚拟机virtualbox虚拟机配置安装增强工具包 xff08 Guest Additions 设置虚拟机与宿主机共享文件夹 概述 Thinkpad T400笔记本 xff0c
  • WSL2的安装与使用-Windows与Linux双系统的新选择

    文章目录 WSL2的安装与使用 Windows与Linux双系统的新选择1 WSL是什么2 为什么会有WSL3 为要选择WSL2作为开发环境3 1 WSL与WSL2有什么区别3 2 Windows与Linux系统的抉择 4 WSL2的安装4
  • IOCP编程注意事项

    虽说我的昵称是EasyIOCP xff0c 但是用好IOCP还是不容易的 xff0c 有很多要注意的地方 xff0c 长话短说 xff08 不涉及细节 xff09 xff1a 1 每个连接同时最好只有一个待决的WSARecv IOCP不保证
  • cin的错误标记和缓冲区清空

    先看下面的代码 xff1a vector lt int gt intVtr intVtr insert intVtr end istream iterator lt int gt cin istream iterator lt int gt
  • 如何把string的元素逆序呢?

    论坛里见到这个问题 xff1a 如何把string的元素逆序 xff1f 我直接想到的是利用反向迭代器reverse iterator xff1a rbegin 和rend xff1a string str1 34 1234567890 3
  • 配接器ptr_fun的一点增补

    ptr fun的作用是什么 xff1f 就是把函数 xff08 函数的参数最多有两个 xff0c 返回值类型任意 xff0c 包括void xff09 转成函数对象 xff0c 并使该函数对象可配接 当和bind1st或者bind2nd结合
  • 调用closesocket()背后发生的事

    应用层代码想要关闭一个TCP连接可以直接调用closesocket xff0c 但是这个函数的行为并不 单纯 xff0c 只有了解closesocket 背后的故事 xff0c 才能对关闭TCP连接有正确的认识 首先明确一点 xff1a 任
  • 完成端口GetQueuedCompletionStatus()返回错误,怎样获得真正的错误代码

    GetQueuedCompletionStatus 返回错误 xff0c 说明I O失败 此时调用GetLastError 得到的往往是ERROR NETNAME DELETED xff08 64 xff09 xff0c WSAGetLas
  • 模拟C++11的新关键字decltype

    只上代码了 xff0c 尽在不言中吧 xff1a include lt iostream gt include lt vector gt include lt map gt include lt typeinfo gt using name
  • 类的直接构造和拷贝构造

    先看代码 xff1a include lt iostream gt using namespace std class A public A int k m k k A const A amp a m k a m k cout lt lt
  • Teleport 开源堡垒机安装使用

    文章目录 Teleport 开源堡垒机安装使用一 介绍二 特点三 安装1 安装跳板核心服务 xff08 1 xff09 下载安装 xff08 2 xff09 数据库配置 xff08 3 xff09 启动 xff08 4 xff09 初始化配
  • 用好了下一代文件系统 Btrfs 这些新特性,从此数据安全乐无忧!

    对于大部分文件系统来说 xff0c 在磁盘上创建好文件系统 xff0c 然后再挂载到系统中去就完事了 但对于 Btrfs 来说 xff0c 除了在格式化和挂载的时候指定不同的参数外 xff0c 还支持很多其他的功能 比如 xff1a 管理多
  • Warp:一款融资 23000000 美元,基于 Rust 开发、支持 GPU 加速的 21 世纪终端工具...

    公众号关注 奇妙的 Linux 世界 设为 星标 xff0c 每天带你玩转 Linux xff01 Warp 是一个完全原生的 GPU 加速的基于 Rust 开发的终端工具 xff0c 速度非常快 xff0c 完全从头重新设计 xff0c
  • 基于STM32CubeIDE实现外部中断按钮控制LED灯亮

    小白入门 xff0c 记录一下学习体验及过程 原文可能图片不清晰 xff0c 如需下载原WORD文档 xff0c 请右转 xff1a 链接 xff1a https pan baidu com s 17X8iB865ZgHgGYnUJ1bSR