使用STM32CubeMX新建工程

news2024/9/24 11:29:28

开发板:STM32h743xi

编程软件:Keil、STM32CubeMX

项目:GPIO外设操作(彩色LED灯)

学习打卡:Day1

学习地址:【野火】STM32 HAL库开发实战指南 教学视频 手把手教学STM32全系列 零基础入门CubeMX+HAL库,基于野火全系列STM32开发板

一、STM32h743xi上LED灯的原理图

 从上图我们可以看出

  1. LED_R是通过PB0口调节的
  2. LED_G是通过PB1口调节的
  3. LED_B是通过PA3口调节的

二、通过STM32CubeMX软件进行外设初始化代码的生成

因为使用的是野火公司制作的开发板,所以使用mcu进行选择 

进入软件后在此搜索H743xi,然后双击搜索到的mcu

因为在第一步中,我们找到了对应GPIO的接口,在此可以直接搜索

  1. PB0
  2. PB1
  3. PA3

 拿PB0为例,点击搜索出来的接口,选择GPIO输出

然后在GPIO除进行配置

  • 输出电平为低电平
  • 模式为推挽输出
  • GPIO既不上拉也不下拉
  • 选择低速

如果不是我这款mcu,需要配置sys,debug选项 

然后点击project manager,进入项目管理

首先配置Project中的选项

  1. 工程名称
  2. 工程路径
  3. IDE需要选择MDK-ARM
  4. 如果不想使用最新的固件包,可以选择本地进行替换 

 配置Code Generator

  • 选择只复制需要的文件
  • .c .h 进行划分处理

然后点击 GENERATE CODE,进行生成代码

三、通过Keil进行编程 

 1、配置Debug选项

2、然后继续构建,下载

然后查看状态

发现LED为混色输出,可以更改代码,进行相应的颜色修改,并翻转电平

在gpio.c中将LED关闭

3、将其写在主函数中

int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
     HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_0);
     HAL_Delay(1000);
    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

选用B0口(红色)进行翻转,看效果图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2084392.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

echarts组件——漏斗图

echarts组件——漏斗图 组件代码 <template><div :class"classname" :style"{height:height,width:width}" /> </template><script> import * as echarts from echarts require(echarts/theme/macarons) // echarts theme import…

虚拟试穿(VTON)和虚拟换装(VD)技术分享

虚拟试穿技术&#xff08;VTON&#xff09;和虚拟换装&#xff08;VD&#xff09;技术是一种应用于电子商务和在线零售的技术&#xff0c;旨在通过数字手段提升用户的购物体验&#xff0c;让用户能够在没有实际试穿的情况下&#xff0c;看到自己穿上特定服装的样子。这种技术的…

js 如何获取文件名

"bbb/aaa/ss.pdf" 如何获取到文件名 ss.pdf split(/) 分割字符串 function getFileName(filePath) {// 使用正斜杠 / 分割路径&#xff0c;并获取最后一个元素作为文件名let parts filePath.split(/)// console.log(parts) // [bbb, aaa, ss.pdf]let fileName pa…

深度解析CancellationToken在HttpClient请求中的应用

概述 在现代的Web开发中&#xff0c;爬虫技术已成为数据获取的重要手段。随着Web技术的发展&#xff0c;服务器端的反爬机制也愈发复杂和智能化&#xff0c;因此&#xff0c;我们需要不断优化爬虫的设计和实现&#xff0c;以提高效率和稳定性。在本文中&#xff0c;我们将重点…

Windows中Git对文件名大小写不敏感的问题解决方法

文章目录 前言一、Git 对文件名大小写不敏感方法1.使用git命令进行修改方法2.关闭git 忽略大小写配置 &#xff08;可以当前项目设置&#xff0c;也可以全局设置 --global&#xff09; 二、新的问题&#xff08;重复的目录&#xff09;原因分析解决方法 前言 Git是一个免费的、…

wpf prism 《4》 事件 发布订阅

PubSubEvent 继承 EventBase TEventType GetEvent() where TEventType : EventBase, new();

Java使用POI创建不同类型单元格

这篇文章将演示如何使用POI 展示如何创建一个包含不同类型单元格&#xff08;如字符串、数字、日期、布尔值和公式&#xff09;的Excel文件&#xff0c;并设置单元格样式&#xff0c;包括字体、颜色、边框和对齐方式。 代码 import org.apache.poi.ss.usermodel.*; import org…

Leetcode5. 最长回文子串(背向指针)

问题描述&#xff1a; 给你一个字符串 s&#xff0c;找到 s 中最长的回文子串。 示例 1&#xff1a; 输入&#xff1a;s "babad" 输出&#xff1a;"bab" 解释&#xff1a;"aba" 同样是符合题意的答案。示例 2&#xff1a; 输入&#xff1a;…

医疗数字化转型数据中台架构方案(三)

为实现医疗数字化转型&#xff0c;我们将构建一个全面的数据中台架构&#xff0c;通过整合来自电子病历、影像系统、实验室数据及外部健康数据源的信息&#xff0c;应用大数据技术对数据进行统一存储、处理和分析&#xff1b;该数据中台将采用云计算和分布式架构&#xff0c;支…

MySQL:简述对事务的认识

浅谈对Spring事务的认识&#xff1a;https://xiaoer.blog.csdn.net/article/details/80849971 一、事务的特性 事务是数据库永恒不变的话题&#xff0c; ACID&#xff1a;原子性&#xff0c;一致性&#xff0c;隔离性&#xff0c;持久性。 &#xff08;1&#xff09;原子性&am…

DSLP——改变我团队的数据科学项目管理框架

到目前为止&#xff0c;它是数据科学的最佳框架。您可以将其用于您的团队或仅供您自己使用。以下是我使用它的方式。 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 虽然软件工程实践要求问题的产生是为了适应不断变化的客户需求&#xff0c;但我们需要能…

护眼大路灯是不是智商税?全面测评书客、雷士、米家护眼大路灯

目前很多护眼大路灯存在虚标参数、夸大宣传&#xff0c;甚至一些质量低劣的产品还会对眼睛造成更严重的伤害。所以&#xff0c;究竟怎样才能买到一台真正好用的护眼大路灯呢&#xff1f;雷士护眼大路灯真的好吗&#xff1f;本次通过对书客、雷士、米家三款护眼大路灯的实测&…

ODOO17文档打印(输出)方案 -- ODOO17 document printing (output) scheme

根据使用场景不同&#xff0c;ODOO17支持以下几种文档打印(输出)方案&#xff1a; According to different usage scenarios, ODOO17 supports the following document printing (output) schemes: 1、QWEB ODOO原生打印功能&#xff08;生成PDF文档&#xff09; odoo使用的主…

JavaScript高阶 day-04

目录 一.什么是原型&#xff0c;什么是原型链&#xff1f; 二.call / apply / bind 有啥区别 三.JS四种检测数据类型的方式 四.说说继承 五.for..in和for..of和forEach的区别 六.forEach和map方法的区别 七. js高阶中数组的常用的操作方法 八.什么是严格模式 九.什么是…

深入了解Python数据可视化库——Seaborn

数据可视化在数据分析和机器学习领域中占据着重要地位,它不仅能帮助我们直观地理解数据,还能在探索数据、发现模式和趋势时提供极大的便利。Python语言中有多个优秀的可视化库,其中,Seaborn 因其简单易用且美观的图表风格而备受青睐。Seaborn是基于Matplotlib构建的高级API…

“千鼠万抗”全球快速扩张,百奥赛图即将跨过拐点实现盈利

造汽车还是为车企提供智驾技术&#xff0c;开发AI应用还是做底层大模型&#xff0c;造芯片还是研发光刻机&#xff1f;这是发生在每条产业链上关于价值链定位的故事。 产业发展离不开任一环节的玩家&#xff0c;但毋庸置疑的是&#xff0c;向价值链更高的领域突围&#xff0c;…

LLM —— 强化学习(RLHF-PPO和DPO)学习笔记

强化学习整体流程 智能体执行动作与环境进行交互&#xff0c;根据奖励R的反馈结果不断进行更新。 价值函数 奖励将会考虑两个方面的奖励&#xff0c;一个当下的奖励&#xff0c;一个是未来的奖励&#xff08;为了防止陷入局部最优解&#xff09;。 LLM强化学习 强化学习模型分…

四十四、【人工智能】【机器学习】- Kernel Ridge Regression(KRR)

系列文章目录 第一章 【机器学习】初识机器学习 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression) 第三章 【机器学习】【监督学习】- 支持向量机 (SVM) 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 第五章【机器学习】【监督学习】- 决策树…

【已解决】”只读方式“下的PPT可以编辑吗?

以“只读方式”打开的PPT文件&#xff0c;在编辑时会受到一些限制&#xff0c;那怎样才能正常编辑呢&#xff1f;根据PPT不同模式的“只读方式”&#xff0c;解决方法也不同&#xff0c;一起来看看吧&#xff01; 情况一&#xff1a;PPT属性设置为“只读” 当PPT文件在文件属性…

Python中排序算法之选择排序

选择排序算法是对《Python中排序算法之冒泡排序》中提到的冒泡排序算法的改进。 1 选择排序原理 选择排序是在参加排序的所有元素中找到数值最小&#xff08;或最大&#xff09;的元素&#xff0c;如果它不是左侧第一个元素&#xff0c;就使它与左侧第一个元素中的数据相互交…