使用STM32CUBEIDE创建工程,点亮LED

2023-10-26

1、创建LED驱动文件
先在工程下新建一个文件夹命名为icode存放驱动程序

在这里插入图片描述
在这里插入图片描述
然后对每一个外设新建新的驱动文件夹,如驱动LED就新建文件夹led

在这里插入图片描述
在这里插入图片描述
然后在led文件夹下创建对应的头文件和源文件,即led.h和led.c
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后编写对应外设的驱动程序,即修改源文件led.c和头文件led.h

//led.c
#include"led.h"
void LED_ON()
{
	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_RESET);
	HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,GPIO_PIN_RESET);
}

void LED_OFF()
{
	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_SET);
	HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,GPIO_PIN_SET);
}
//led.h
#ifndef LED_LED_H_
#define LED_LED_H_

#include"stm32f1xx_hal.h"
#include"main.h"

void LED_ON();
void LED_OFF();

#endif /* LED_LED_H_ */

在主函数中加入led.h头文件,并在while(1)中写入闪灯的代码

/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "rtc.h"
#include "gpio.h"

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include"../../icode/led/led.h"//加入头文件
/* USER CODE END Includes */

在这里插入图片描述

  /* USER CODE BEGIN WHILE */
  while (1)
  {
	  LED_ON();
	  HAL_Delay(500);
	  LED_OFF();
	  HAL_Delay(500);	  
    /* USER CODE END WHILE */

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

使用STM32CUBEIDE创建工程,点亮LED 的相关文章

  • 微服务讲堂--【5】系统自举

    这里的 系统自举 借用了操作系统的概念 在操作系统启动之前 计算机要先加载自举程序 再由自举程序加载操作系统的启动程序 整个详细过程不在这里描述 可以在网络查阅相关资料 为什么要在微服务系统中特别提及系统自举这个概念呢 因为这内容很重要 而
  • Unity 勾选development Build 区别,引起的Bug,记录一下

    Unity 勾选development Build 区别 引起的Bug 记录一下 问题 编辑器运行正常 安卓真机 Build And Run 就出现了奇怪的问题 类似数组数据出现了误差 勾选development Build 想要真机调试的
  • 第十四届蓝桥杯校内模拟赛(第二期) C++题解分享

    本人是在学校机房参加的第二期模拟赛有些题目没有忘海涵 若有什么好的建议可以提出来来分享这是本小白第一篇CSDN希望能帮助到大家 第一题没啥好说的就是直接暴力枚举 这边直接上代码 稍微注释 答案 2048 include
  • CTF—web题库笔记(难度2)

    CTF web题库笔记 难度1 CTF web题库笔记 难度4 本篇文章共12道题 目录如下 目录 1 warmup 2 supersqli 3 Web php include 4 php rce 5 Web php unserialize
  • HDFS分布式文件系统(2)Java API操作HDFS

    文章目录 1 创建Maven项目 2 添加相关依赖 3 创建日志属性文件 4 启动集群HDFS服务 5 在HDFS上创建文件 6 写入HDFS文件 6 1 将数据直接写入HDFS文件 6 2 将本地文件写入HDFS文件 7 读取HDFS文件
  • Java中使用this调用构造方法

    在 Java 中 可以使用this 关键字来调用同一个类中的其他构造方法 这种方式通常被用于避免代码重复 或者在构造方法中需要进行额外的初始化操作时 在一个类中 可以定义多个不同参数列表的构造方法 如下所示 public class MyC
  • Submitting multiple batch scripts to LSF

    原文链接 https hpc ncsu edu Documents lsf scripts php Many workflows involve submitting multiple compute jobs with slightly
  • D盘新建删除移动文件需要管理员权限怎么办?

    问题描述 好像是我在进行一次d盘大瘦身之后 Program Files中的进行新建 删除时候就变得需要管理员权限了 但是d盘的其他文件夹就可以正常操作 唯独这一个Program Files 这让我很不爽 所以就想办法解决嘛 解决办法 网上说
  • 支付宝商户支付接口接入流程

    支付宝商户支付接口接入流程 详细说明支付宝商户支付接口接入流程和注意事项 便于大家在对接过程中少走弯路 实现快速对接 目前网上也有资料 这些资料不够完整全面 导致在对接过程中也会出现一些问题 其中支付功能主要包括 支付 APP支付 WAP支
  • linux如何获得宝塔账号密码信息

    在ssh终端输入 etc init d bt default 会得到如下信息
  • 14 Binder通信之应用层AIDL实现示例

    Binder通信之应用层AIDL实现示例 一 什么是AIDL AIDL Android Interface Definition Language 即Android接口定义语言 Android系统中 每个进程都运行在一块独立的内存中 在其中
  • 最小生成树的权值之和-Prim算法

    问题描述 已知含有n个顶点的带权连通无向图 采用邻接矩阵存储 邻接矩阵以三元组的形式给出 只给出不包括主对角线元素在内的下三角形部分的元素 且不包括不相邻的顶点对 请采用Prim算法 求该连通图从1号顶点出发的最小生成树的权值之和 输入形式
  • 8-NodeJS基础

    Node Node是一个基于Chrome V8引擎的 javaScript代码运行环境 什么软件可以运行javaScript 它就是javaScript的运行环境 Node js是运行在代码环境之上的语言 由ECMAScript 和模块的A
  • go template使用

    示例 func tmpl w http ResponseWriter r http Request t1 err template ParseFiles test html if err nil log Fatal err t1 Execu
  • 物联网固件逆向分析记录(初步概念记录)

    20201206 1 引言 机缘巧合 自己居然有生之年又接触到了这个东西 但是多学点东西也没什么坏处 就当扩宽视野了 不过 以前这种事情 都没有记录 挺可惜的 所以这次记录一下 关于物联网固件的分析 涉及的东西还是很多的 可能某个领域的小伙
  • 如何开发一个油猴脚本- 从零开始编写一个油猴脚本

    博客主页 https blog csdn net mukes 欢迎点赞 收藏 留言 如有错误敬请指正 本文由 mukes 原创 首发于 csdn 目录 前言 开发脚本之前的准备工作 1 什么是油猴 Tampermonkey 2 安装油猴 T

随机推荐

  • MATLAB基础--内存的使用和程序调试和优化

    内存管理函数 emory 显示可用内存 hos 显示给工作区分配了多少内存 pack 把已经存在的变量保存到磁盘 clear 从内存中删除变量 save 有选择的把变量保存到磁盘 load 把已经保存的数据文件用load函数重新载入 qui
  • 使用Qt designer 向菜单栏和工具栏添加action

    在使用Qt创建桌面程序的时候 经常会使用Qt designer来设计程序界面 而Qt窗口类中 QMenuBar和QToolBar中并没有按钮或选项类的控件 取而代之的是要向这些控件中添加QAction 这一个个Action构成了类似按钮似的
  • 分享几个开源且跨平台的视频编辑软件的网站

    视频后期制作和剪辑 可以说Adobe家的PR AE等软件就是王者 功能全面又强大 但是 这些软件都收费不菲 一年都要缴费上千元 用盗版也不是长久之际 这里分享几个剪辑 特效 字幕相关的视频编辑软件 而是是永久免费的开源软件 像爱剪辑之类的软
  • java连接mysql数据库代码_Java连接mysql数据库经典代码

    连其他数据库方式与以下方式类似 package dao impl import java sql Connection import java sql DriverManager import java sql PreparedStatem
  • c语言中断程序运行,C语言实现 "软中断" 程序小结

    参考网友帖子改写 呵呵 对于系统级语言设计之一的中断程序设计包括软中断和硬中断 后者设计到硬件端口的读写操作等等 应该用汇编实现比较好 而前者用C实现就要方便得多的了 对于软中断程序应该有3部分组成 中断程序的编写 安装和使用 由于我们可以
  • 文心大模型加持,百度知识中台三大案例入选信通院优秀案例

    近日 中国信息通信研究院依托中国人工智能产业发展联盟 AI工程化委员会知识计算工作组公布了 2023可信AI案例 知识计算应用优秀案例 名单 基于百度知识中台打造的 国能绥中电厂设备知识库应用 银联云闪付APP智能推荐平台应用 以及 南网智
  • 解决 node.js+MySQL 数据库读取Date日期 前端显示时间差8个小时

    问题描述 后端使用 node js Express 框架 连接 mysql 数据库 前端实现数据的编辑修改功能 发现前端发出的更新数据请求正常 数据库中显示的 Date 类型的日期正确 但前端页面上展示的日期少一天 不设定format 直接
  • VTK编译和安装

    准备工作 请先安装好以下工具和下载需要的VTK源码 Virtual Studio CMake Qt 如果需要结合Qt开发 需要安装好Qt VTK源码 以下是本人的环境 VS 2019 CMake 3 20 1 Qt 5 15 2 VTK 8
  • C/C++编程:定时器

    什么是定时器 很多场景都会用到定时器 比如心跳检测 倒计时 技能冷却等 定时器分类 一般定时任务的形式表现为 经过固定时间后触发 按照固定频率周期性触发 在某个时刻触发 定时器的本质 那定时器到底是什么呢 可以理解为这样一个数据结构 存储一
  • ImportError: rocketmq dynamic library not found

    Traceback most recent call last File initialtomq py line 10 in
  • centOS-7静态ip配置

    centOS 7静态ip配置 1 确定网关 vmware虚拟机 gt 编辑菜单 gt 虚拟网络编辑器 gt 打开窗口 gt 选中vmnet8虚拟网卡 gt nat设置 gt 查看网关 具体如下图 2 查看可用的ip网段 vmware虚拟机
  • 06-----the inferior stopped because it triggered an exception

    这个问题总结一下 1 指针非法访问或者数组越界导致的 2 相关的静态库 动态库版本与编译器的位数不一致导致的 而我就是第2个问题导致的 因为我出错的地方是一个int型的变量 并非指针 故将QT的MSCV编译位数改成32位后 程序正常 因为我
  • 快手did did_gt edid的注册过程

    接口 https gdfp ksapisrv com rest infra gdfp report kuaishou android did 是本地生成的16进制 或者 获取的 android id did gt 是did生成时间戳 159
  • wx小程序结构目录介绍及创建和删除

    仔细查看之前创建的项目 可以发现项目里生成很多不同类型的文件 json 后缀 JSON 配置文件 wxml 后缀 WXML 模板文件 wxss 后缀 WXSS 样式文件 js 后缀 JS 脚本逻辑文件 1 sitemap json小程序收录
  • 人机交互的困难之一常常在于没有形成有效的你、我、他之间的互换。

    人机交互的困难之一常常在于没有形成有效的你 我 他之间的互换 而要形成交互过程中有效的你 我 他角色的互换 可以考虑以下几个方面 清晰定义角色 在交互开始之前 明确定义每个参与者的角色和身份 机器可以被定义为 你 而用户则为 我 这样可以建
  • 《Cesium 进阶知识点》 - 加载天地图三维地名服务(无Cesium 版本依赖)

    一 解决依赖 天地图官网说只支持 1 52 1 58 1 63 1 这 3个版本 其它版本报错 但我只使用三维地名服务 所以做了如下修改 我在 1 80 版 和 1 84 版中测试有效 操作部署是 1 根据官网安装 cesium tdt 插
  • Python------- if-else语句介绍

    Python的if else语句是一个判断性语句 要判断就需要有条件以及满足条件和不满足条件的情况 以下就此进行说明 1 if else的使用格式 if 条件 满足条件所要做的事情 else 不满足条件所要做的事情 这里需要注意的是 if和
  • 数据库SQL性能优化之详解

    一 问题的提出 在应用系统开发初期 由于开发数据库数据比较少 对于查询SQL语句 复杂视图的的编写等体会不出SQL语句各种写法的性能优劣 但是如果将应用系统提交实际应用后 随着数据库中数据的增加 系统的响应速度就成为目前系统需要解决的最主要
  • c语言 (3×3)矩阵转置

    题目描述 写一个函数 使给定的一个二维数组 转置 即行列互换 输入 一个3x3的矩阵 输出 转置后的矩阵 样例输入 1 2 3 4 5 6 7 8 9 样例输出 1 4 7 2 5 8 3 6 9 废话不说还是直接上代码 include
  • 使用STM32CUBEIDE创建工程,点亮LED

    1 创建LED驱动文件 先在工程下新建一个文件夹命名为icode存放驱动程序 然后对每一个外设新建新的驱动文件夹 如驱动LED就新建文件夹led 然后在led文件夹下创建对应的头文件和源文件 即led h和led c 然后编写对应外设的驱动