【学习笔记】| 03 - 使用STM32CubeMX新建工程

使用STM32CubeMX新建工程是一个相对直观的过程,主要涉及到选择芯片型号、配置外设、时钟系统、GPIO引脚等,并最终生成工程代码。以下是一个详细的步骤指南:

一、打开STM32CubeMX并新建工程

  1. 启动STM32CubeMX
    • 打开STM32CubeMX软件。
    • 如果是第一次使用,可能需要检查软件更新和安装对应的固件库。

在这里插入图片描述
2. 新建项目

  • 点击菜单栏的“File” > “New Project…”来新建一个工程。

在这里插入图片描述

  • 在弹出的界面中,可以通过搜索栏输入芯片型号或系列来快速定位并选择目标芯片。
  • 双击选择的芯片型号后,点击“Start Project”开始新建工程。

在这里插入图片描述

二、配置工程设置

  1. 工程名与路径

    • 在新建工程时,需要输入工程名称和选择工程保存的路径。
    • 注意:工程名称和路径都不应包含中文或特殊字符,以避免编译错误。
  2. 编译器选择

    • 在新建工程时,还需要选择使用的编译器种类及版本,如MDK(Keil)、IAR等。

在这里插入图片描述

三、配置外设与引脚

  1. 时钟系统配置
    • 点击“System Core”下的“RCC”,配置HSE(高速外部时钟)和LSE(低速外部时钟)等。
    • 进入“Clock Configuration”界面,配置PLL(相位锁定环)、SYSCLK(系统时钟)、AHB(高级高性能总线)、APB1和APB2等时钟分频系数。
    • 此处用的配置的为HSE(高速外部时钟),时钟频率配置为180MHz

在这里插入图片描述

  • 配置系统时钟,按步骤为:“Clock Configuration” > “Input frequency” > “HSE” > “PLLCLK” > "HCLK(MHz),按回车键进行自动配置。

在这里插入图片描述

  1. GPIO引脚配置
    • 点击“Pinout & Configuration”选项卡,在引脚图中找到需要配置的引脚。
    • 点击引脚,在弹出的配置窗口中设置引脚的模式(如GPIO_Output)、速度、上下拉等参数。
    • 如果需要配置引脚为复用功能(如USART、SPI等),则需要在“Function”中选择相应的复用功能。
    • 配置下载引脚

在这里插入图片描述

四、生成工程代码

  1. 检查配置

    • 在生成代码前,仔细检查所有配置是否正确。
  2. 生成代码

    • 点击工具栏上的“GENERATE CODE”按钮生成工程代码。
    • 在弹出的界面中,可以选择生成代码时的一些额外选项,如是否复制所有库文件到工程目录等。

在这里插入图片描述

五、使用IDE进行开发

  1. 打开项目

    • 使用STM32CubeIDE或其他支持的IDE打开生成的工程代码。
  2. 编写用户代码

    • 在IDE中,找到main.c文件或其他用户代码文件。
    • /* USER CODE BEGIN X *//* USER CODE END X */之间的区域编写或修改用户代码。
  3. 编译与调试

    • 使用IDE的编译功能编译工程代码。
    • 如果编译无误,可以使用IDE的调试功能进行程序调试。

六、注意事项

  • 在使用STM32CubeMX时,请确保软件和固件库都是最新版本,以获得最佳的支持和性能。
  • 在配置引脚和时钟系统时,请仔细参考STM32的参考手册和数据手册,以确保配置的正确性。
  • 在编写用户代码时,请遵循良好的编程习惯和代码规范,以提高代码的可读性和可维护性。

通过以上步骤,您就可以使用STM32CubeMX成功新建一个工程,并进行后续的开发工作了。

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

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

相关文章

FPGA实验6: 有时钟使能两位十进制计数器的设计

一、实验目的与要求 1.. 熟练掌握使用原理图设计较复杂电路; 2. 学习原理图设计中总线的表示以及使用方法。 二、实验原理 运用Quartus II 集成环境下的图形设计方法设计有时钟使能的两位十进制计数器。进行波形仿真和分析、引脚分配并下载到实验设备上进行功能…

[ECharts] There is a chart instance already initialized on the dom. 已存在图表,渲染重复

报错:已存在图表,渲染重复 解决: 在合适的时机执行 dispose 方法即可 // echarts 全局存入 实例 let myChart: any;// 在你的 initChart 初始化 Echarts 方法中 先执行清理方法 const initChart () > {// 执行清理方法然后初始化if(myChart){cons…

AndroidStudio 开发环境搭建

文章目录 AndroidStudio 开发环境搭建JDK 下载与安装,配置环境变量JDK1.8 下载安装配置环境变量新建JAVA_HOME编辑Path 下载AndroidStudio最新版本历史版本先安装JDK,后启动AS以管理员身份运行打开解决双击打不开的问题Error:你的主机中的软件中止了一个…

Coggle数据科学 | 大模型技术内参:39 种提示工程 在 29 种 NLP 任务精度对比

本文来源公众号“Coggle数据科学”,仅用于学术分享,侵权删,干货满满。 原文链接:大模型技术内参:39 种提示工程 在 29 种 NLP 任务精度对比 大语言模型(LLMs)在许多不同的自然语言处理&#x…

Linux网络-netstat命令

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注我,我尽量把自己会的都分享给大家,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 Linux服务器作为一个常用的网络服务器,主要的作用就是向客户端提供网络…

1143. 最长公共子序列(详细版)

目录 dp解法: 1.状态代表什么: 2. 状态转移方程 3.初始化 3. so为什么要这样? 代码实现: 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0…

从小白到架构师:万字长文 | 社交媒体应用系统设计

移动互联网时代,社交媒体应用彻底改变了我们联系和共享信息的方式。这些平台在幕后处理庞大的用户群、数据存储和实时交互。 在本文中,我们将深入探讨如何设计一个可扩展且高性能的社交媒体应用系统。我们将探讨关键组件、流程图、功能需求以及容量规划…

数据分析详解

一、数据分析教程 1. 入门教程 在线课程:如Coursera、Udemy、网易云课堂等平台提供了大量数据分析的入门课程,涵盖统计学基础、Python/R语言编程、数据可视化等内容。书籍推荐:《Python数据分析实战》、《R语言实战》等书籍是数据分析入门的…

Github 2024-07-27 Rust开源项目日报 Top10

根据Github Trendings的统计,今日(2024-07-27统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10TypeScript项目1JavaScript项目1Tauri: 构建小型、快速和安全的桌面应用程序 创建周期:1673 天开发语言:Rust协议类型:Apache Lic…

科普文:分布式数据一致性协议Paxos

1 什么是Paxos Paxos协议其实说的就是Paxos算法, Paxos算法是基于消息传递且具有高度容错特性的一致性算 法,是目前公认的解决分布式一致性问题最有效的算法之一。 Paxos由 莱斯利兰伯特(Leslie Lamport)于1998年在《The Part-Time Parliament》论文中首次公 开&…

Gitops-Argo-Cli安装与使用

一、安装Argo-Cli工具 Release v2.9.21 argoproj/argo-cd GitHub **选择合适的符合你操作系统以及CPU架构的二进制文件 #依v2.9.21-X86-64-Linux操作系统为例 wget https://github.com/argoproj/argo-cd/releases/download/v2.9.21/argocd-linux-amd64 #添加执行权限并且移…

ubuntu20.04安装RabbitMQ +Erlang

ubuntu20.04安装RabbitMQ 3.11.19Erlang 25.3.1_ubuntu20.04.6 安装 rabbitmq-CSDN博客 LINUX下载编译libpng_linux libpng下载-CSDN博客 Ubuntu20.04 安装 Nginx 软件报错:libgd3 缺少 libpng12-0 依赖 Ubuntu安装RabbitMq(保姆级教学,直…

论文中的流程图参考图片

写论文的时候,在绘制流程图时,一直纠结n是大写还是小写,用不用斜体,号两边要不要空格。今天找到了一张标准的流程图来参考。图片来自 Zhi-Chang Ba et al, Combination of DCE-MRI and NME-DWI via Deep Neural Network for Predi…

虚拟机复制后网络不可用,报错“network.service - LSB: Bring up/down networking”

查询IP地址,eth33 没有显示IP地址 尝试重启,有报错,并且有提示,按照提示执行下看看 解决办法 chkconfig NetworkManager offsystemctl disable NetworkManager.serviceservice NetworkManager stopservice network restart 之后检…

2222222222

222222222222222

“在工作中学习”和“根据遇到的问题捡知识”两者有巨大不同

目前整个软件行业越来越需要一堆多面手,也许现在已经是这样了,只是我还没有注意到。当然,我也不喜欢这种情。现在,好像没有人愿意花更多的时间来把某一个东西学好学深学扎实 编程语言推荐: C 语言不用多说&#xff…

边缘计算网关项目(含上报进程、32Modbus采集进程、设备搜索响应进程源码)

目录 边缘层 架构说明 包含知识点 数据上报进程 功能描述 功能开发 上报线程 数据存储线程 指令处理线程 项目源码 上报模块.c代码: 上报模块Makefile代码: STM32采集模块.c代码 设备搜索响应模块Linux部分.c代码 设备搜索响应模块Qt端代码.h …

C语言画蜡烛图

GPT-4o (OpenAI) 在C语言中,绘制蜡烛图(Candlestick Chart)不是直接的任务,因为C语言本身不包含高级图形绘制库。然而,可以通过某些图形库来完成这项任务,例如使用GTK、SDL、OpenGL等。 以下是通过GTK库绘…

react中的useState和Hook、副作用

react的组件分为类组件和函数组件,Hook 是一种特殊的函数,可以让你在函数组件中使用类组件中才有的一些特性。useState、useEffect、useReducer都是Hook。其中useState用于在函数组件中添加状态,useEffect用于在函数组件中执行副作用&#xf…

机器学习 - 随机森林降方差公式推导

背景 在随机森林算法中,我们通过对数据集进行多次采样(有放回地抽样)并训练多个决策树模型,然后将这些模型的预测结果进行平均来得到最终的预测结果。这样做的一个重要好处是能够降低模型的方差(Variance)…