STM32CubeMx的学习记录系列(2)- STM32G474RET6

最近有个小比赛,需要用到G4,不过找了一圈没有找到标准库的代码,只能使用hal,用CubeMX来生成配置代码。

图片

共同特点

ARDUINO Uno V3 扩展连接器®

ST morpho 扩展引脚接头,可完全访问所有 STM32 I/O

采用LQFP64或LQFP48封装的STM32微控制器

1 个与 ARDUINO 共享的用户 LED®

1 个用户和 1 个复位按钮

32.768 kHz 晶体振荡器

板连接器:

灵活的电源选项:ST-LINK USB V总线或外部来源

STM32Cube MCU软件包提供全面的免费软件库和示例

支持多种集成开发环境 (IDE),包括 IAR Embedded Workbench、MDK-ARM 和 STM32CubeIDE®

特定于某些板的功能

外部 SMPS 实验专用连接器:NUCLEO-L412RB-P、NUCLEO-L433RC-P、NUCLEO-L452RE-P 和 NUCLEO-U545RE-Q

用于 ST-LINK 的 USB Type-C、Micro-B 或 Mini-B 连接器®

USB Type-C 用户连接器:NUCLEO-C071RB、NUCLEO-H503RB、NUCLEO-H533RE 和 NUCLEO-U545RE-Q®

MIPI 调试连接器:NUCLEO-C071RB、NUCLEO-G431RB、NUCLEO-G474RE、NUCLEO-G491RE、NUCLEO-H503RB、NUCLEO-H533RE、NUCLEO-U031R8 和 NUCLEO-U083RC®

第二个用户 LED:NUCLEO-C071RB

外部或内部 SMPS 生成 V核心逻辑电源:NUCLEO-L412RB-P、NUCLEO-L433RC-P、NUCLEO-L452RE-P 和 NUCLEO-U545RE-Q

24 MHz 或 48 MHz HSE:NUCLEO-C031C6、NUCLEO-C071RB、NUCLEO-G431RB、NUCLEO-G474RE 和 NUCLEO-G491RE

用户 USB 设备全速或 USB SNK/UFP 全速:NUCLEO-C071RB、NUCLEO-H503RB、NUCLEO-H533RE 和 NUCLEO-U545RE-Q

密码:NUCLEO-H533RE、NUCLEO-U083RC 和 NUCLEO-U545RE-Q

板连接器:

板载 ST-LINK(STLINK/V2-1、STLINK-V3E、STLINK-V2EC 或 STLINK-V3EC)调试器/编程器,具有 USB 重新枚举功能:大容量存储、虚拟 COM 端口和调试端口

使用STM32CubeMX完成了一个基础项目,从软件的下载到点亮开发板上的LED灯。STM32CubeMX是一个非常强大的工具,它可以帮助开发者快速配置微控制器的参数并生成初始化代码。下面是你提到的一些关键步骤的简要概述:

新建项目:在STM32CubeMX中创建一个新的工程,这是开始任何项目的第一步。

选择芯片:根据你的硬件选择正确的STM32系列微控制器型号。

配置:对微控制器进行必要的配置,包括引脚配置、时钟设置、外设配置等。

你提到了将PA5设置为GPIO_Output,这是控制LED灯的关键配置。

配置了Serial Wire作为调试接口,这通常用于JTAG或SWD调试。

设置了时钟系统,包括外部晶振和内部时钟源,这对于确保系统稳定运行至关重要。

启用了RTC(实时时钟)。

选择IDE:你选择了MDK-ARM作为集成开发环境,这意味着生成的代码可以在Keil MDK中打开和编译。

生成代码:STM32CubeMX会根据你的配置生成初始化代码,这些代码可以直接用于你的项目。

编译运行:在Keil中编译生成的代码,并下载到开发板。

测试:下载代码后,如果一切配置正确,LED灯应该会亮起,这标志着你的项目配置成功。

1、新建项目

图片

2、选择芯片

图片

图片

双击一下就可以新建了

图片

3、配置

因为的板载LED是PA5,而且是低电平的时候才会亮灯。

图片

设置PA5的模式为GPIO_Output

图片

SYS,然后设置一下debug为Serial Wire

图片

RCC,设置一波时钟

图片

然后打勾一下RTC

图片

设置一下时钟频率

图片

因为我这个是170MHz的芯片,外部晶振使用了24MHz和32.768K两种。

图片

选择MDK-ARM代码,才可以在Keil中打开生成的代码。

点击生成代码

图片

图片

编译运行一下

下载到开发板

灯亮了,嘿嘿

资料

https://www.st.com/en/evaluation-tools/nucleo-g474re.html?rt=db&id=DB2196#overview

图片

在CAD这里有原理图

更多好东西可以到我的公众号里面阅读
在这里插入图片描述

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

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

相关文章

2-requests模块(6节课学会爬虫)

2-requests模块(6节课学会爬虫) 1,安装requests2,发送get,post请求,获取响应3,response的方法方法一(Response.text)方法二(response.content.decode()&#…

Docker 查看源地址/仓库地址,更改

一、源地址文件配置路径。若有docker文件夹,没有json,可以新增,复制进去内容 /etc/docker/daemon.json {"registry-mirrors": ["https://dockerhub.azk8s.cn","https://hub-mirror.c.163.com",&q…

【数据分析】1、用Pandas计算数据相关性系数

相关性系数和相关分析是了解变量之间关系的重要工具。通过合理选择相关性系数和科学分析数据,能够有效揭示变量之间的关系,为进一步研究和决策提供有力支持。在实际应用中,应结合业务背景、数据特性和统计原则,谨慎解释和应用相关…

【小学期】常用基于Swing的七个静态界面

示例1:基本的带按钮和标签的界面 import javax.swing.*; import java.awt.*;public class SimpleSwingApp1 {public static void main(String[] args) {JFrame frame new JFrame("Simple Swing App 1");frame.setDefaultCloseOperation(JFrame.EXIT_ON_C…

【linux】从零到入门

linux概述 Linux是一个免费使用和自由传播的一套操作系统。用户可以无偿地得到它地源代码,和大量地应用程序,并且可以随意修改和增加它们。 Linux的内核起初由林纳斯编写。内核是啥? 驱动设备,文件系统,进程管理&…

UE5(c++)demo开发日志(1):Actor类添加

工具---新建c类---选用Actor,创造出头文件(.h,用于声明变量、函数、重写父类函数等)和源文件(.cpp,涉及到具体功能实现),客户端界面成功显示出来新建类: Actor头文件默认方法简介: UCLASS(): ue提供的宏&a…

算法-位运算基础

文章目录 1. 前置知识2. 交换两个数3. 比较两个数的大小3. leetcode268 寻找缺失的数字4. leetcode136 只出现一次的数字5. leetcode260 只出现一次的数字|||6. leetcode137 只出现一次的数字||7. 2/3的幂8. 大于等于该数字的最小2的幂9. leetcode201 数字范围按位与10. 位运算…

Docker部署Dillinger个人文本编辑器

Docker部署Dillinger个人文本编辑器 一、Dillinger介绍1.1 Dillinger简介1.2 Dillinger使用场景 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、拉取Dillinger镜像五、部署Dill…

汇聚荣拼多多运营好吗?

在当前电商行业竞争激烈的背景下,拼多多凭借其独特的商业模式和市场定位迅速崛起,成为众多商家和品牌争相入驻的平台。对于“汇聚荣拼多多运营好吗?”这一问题,答案是肯定的。拼多多不仅提供了一个广阔的市场空间,还通过其创新的…

HTML5+JavaScript单词游戏

HTML5 JavaScript单词游戏 数据字典格式:每行一个 单词 ,单词和解释用空格分隔,如 a art.一(个);每一(个) ability n.能力;能耐,本领 able a.有能力的;出色的 baby n.婴儿;孩子…

数据库对比脚本,java如何对比两个数据库的表字段的不同

因为有时候开发环境和 测试环境,有时候会有不同的数据库表,比如有些加字段了,所以这个脚本就实现了对比两个数据库连接的数据库到底哪里不一样,输出到控制台 package com.junfun.pms;import lombok.extern.slf4j.Slf4j;import ja…

25届最近5年北京工业大学自动化考研院校分析

北京工业大学 目录 一、学校学院专业简介 二、考试科目指定教材 三、近5年考研分数情况 四、近5年招生录取情况 五、最新一年分数段图表 六、初试大纲复试大纲 七、学费&奖学金&就业方向 一、学校学院专业简介 二、考试科目指定教材 1、考试科目介绍 2、指定教…

C++进修——C++核心编程

内存分区模型 C程序在执行时,将内存大方向划分为4个区域 代码区:存放函数体的二进制编码,由操作系统进行管理全局区:存放全局变量和静态变量以及常量栈区:由编译器自动分配释放,存放函数的参数值&#xff…

C#测试调用DotnetSpider爬取网页内容

微信公众号“DotNet”的文章《.NET快速实现网页数据抓取》介绍了调用开源网页爬取模块DotnetSpider爬取cnblog网站文章的基本方式。之前学习过使用HtmlAgilityPack抓取并分析网页内容,DotnetSpider也依赖HtmlAgilityPack模块,不过前者属于轻量、高效的爬…

大数据开发如何管理项目

在面试的时候总是 会问起项目,那在大数据开发的实际工作中,如何做好一个项目呢? 目录 1. 需求分析与项目规划1.1 需求收集与梳理1.2 可行性分析1.3 项目章程与计划 2. 数据准备与处理2.1 数据源接入2.2 数据仓库建设2.3 数据质量管理 3. 系统…

【微服务】Alibaba Cloud Linux环境下Docker以及MySQL安装

部署Docker 1.安装dnf dnf是新一代的rpm软件包管理器 yum -y install dnf2.安装社区版Docker(docker-ce) 添加docker-ce的dnf源 dnf config-manager --add-repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安装Alibaba Cloud…

MySQL 12种锁:真实业务与流程图解析

文章目录 1. 表级锁(Table Lock)场景1:全表扫描统计 2. 行级锁(Row Lock)场景2:修改特定用户信息 3. 全局锁(Global Lock)场景3:数据备份 4. 意向锁(Intent L…

高性能并行计算华为云实验三:蒙特卡罗算法实验

目录 一、实验目的 二、实验说明 三、实验过程 3.1 创建蒙特卡罗算法源码 3.2 Makefile的创建与编译 3.3 主机文件配置与运行监测​​​​​​​ 四、实验结果与分析 4.1 原教程对应的实验结果 4.2 改进后的实验结果 五、实验思考与总结 5.1 实验思考 5.2 实验总结…

firewalld(2)安装、配置文件、规则查询

安装firewalld 我使用的操作系统是debian 12,并没有安装firewalld。 通过apt install firewalld安装firewalld firewalld 本身是一个服务(firewalld.service),可以通过 systemctl 进行启动、停止和重启,而iptables 本身并不是一个服务,而是一个用户空间工具,被用来配置底…

论文浅尝 | 通过基于动态文档知识图谱增强的大语言模型故事理解

笔记整理:许方舟,天津大学硕士,研究方向为知识图谱 链接:https://ojs.aaai.org/index.php/AAAI/article/view/21286 1. 动机 基于大型 Transformer 的语言模型在需要叙事理解的各种任务上取得了令人难以置信的成功,包括…