STM32CubeMX上手初体验

2023-05-16

STM32CubeMX

提起嵌入式开发常用的IDE,你都用过哪些?

相信大家都用过keil,它上手简单,许可证也可以通过众所周知的途径拿到。

IAR有些小伙伴也用过,它功能强大,支持不同公司芯片,唯一缺点要收费,因此资料比keil少很多。

啥是集成开发环境?

我们编辑好代码后,直接点点按钮生成我们要的hex或bin文件。

近些年,有些公司自己不但做芯片,还做IDE。

比如STM,凭借在STM32等系列芯片的火热,资料那叫一个多啊,STM也退出了自己的集成开发环境STM32CubeMX,可以在它上面配置,生成代码。

以前觉得STM32CubeMX使用太繁琐、安装太麻烦、太占资源等,没有一点想临幸她的想法。这几天,从百问网搞了两块板子STM32F103C8,硬件制作非常精美,可谓麻雀虽小五脏俱全。相关资源也不少。

又看到了老师在用STM32CubeMX,之前已经看到不少老师在b站讲课授业,都是用的STM32CubeMX,于是决定今天一定要安装尝试下,不能一直意淫,实际试下吧!

安装

安装其实不复杂,网上小手一搜,就可以找到很多教程。

STM32CubeMX是基于java开发的,安装STM32CubeMX之前要先安装java环境,如下图:

 

安装后java环境后,一定在cmd看下java是否生效,如果不生效,需要设置下环境变量。

我这里直接就生效了,估计多数都会自动生效。

 

 java和STM32CubeMX安装好后,也就1个多G,不大。

工作中的某些软件,光安装包就30多G。

 

上手

安装好后,必须体验一把。

首次打开工程,如下图,提示是否提交一些资料,帮助st公司更好改进产品,鉴于我是低频用户,就选择谢谢了。

然后就是选择配置工程,这里提供了多个选项,我用的是百问网的板子100ASK_STM32F103_MINI,芯片型号为STM32F103C8,这里我按芯片型号来创建工程。

它会自动从网上下载点配置,还好,稍等一会。

 

 

选择好芯片后,可以看到,这里有一些芯片的手册可以下载学习。资料我都用有,就不下载了。

 

 STM32CubeMX有哪些优势?

它以图形化的界面,让我们进行一些配置,简化了一些逻辑。

类似scratch,简单省事,前期花点时间上手后,后面会越来越顺手。

下面将P1设置为输出。

 

IO口设置后,接下来需将导出工程了,名称、路径、生成工具的工具链等要选择下。

这里勾选下,每个外设成对生成。

 

 设置好后,就可以生成代码了,点这里:

 

 因为是第一次用个,它会需要下载hal库,稍安勿躁,等一小会儿。

 

下载完毕后,会提示是否需要现在打开工程。

 

打开工程,长这样,非常标准专业啊!

我们配置的代码在这里:

 

我们把自己代码添加上,注意一定要按照它的注释,添加到对应位置。以便在STM32CubeMX修改该工程后,生成的代码不覆盖掉你的代码。

 

接下来,直接将代码烧录到芯片看下,芯片的LED灯是否在正常闪烁。

我这里闪烁正常。

 

 

感悟

STM32CubeMX没有想象中的那么复杂,当然首次使用比keil麻烦点,毕竟很多小伙伴都是keil使用很久了。

STM32CubeMX的强大在于集成了hal库,你不需要单独折腾hal库了,你需要啥,它帮你都弄好了。

实际工作中,很多场合会用到hal库,如果你也需要,可以尝试下STM32CubeMX。

STM32CubeMX出来一段时间了,网上教程看不完。

找个合适的教程,在弄块板子练练手,足矣!

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

STM32CubeMX上手初体验 的相关文章

随机推荐

  • Chrome安装zotero connector 插件

    1 下载zotero connector插件 ZoteroConnectorv5 0 68 zip 其它文档类资源 CSDN下载 2 找到crx文件 xff0c 重命名为rar然后解压 3 打开扩展应用安装界面 4 打开开发者模式 xff0
  • 2011年工作总结---测试流程梳理

    主要针对半年测试工作中测试流程的梳理 根据各项目测试任务过程中自己的总结和学习 xff0c 这里介绍下测试各阶段的注意点 虽然以前也对测试各个阶段做了总结 xff0c 但是感觉很散很乱 xff0c 这里就整合一下以前的总结 xff0c 根据
  • 生成随机数的两种方法

    一 Math random 方法 它会生成一个大于等于0 0且小于1 0 0 0 1 0 的double类型的数字 public static void main String args 案例1 System out println 34
  • UnBBayes考虑时序因素时的推理

    最近在使用UnBBayes进行MEBN的研究 xff0c 有时候推理需要考虑上一时刻的状态 一开始总是无法产生前一时刻状态的节点 当加入证据 t pre 61 pretimeOf t now 后就可以正常出现上一时刻的状态的节点了
  • zotero文献管理软件插件配置终极教程

    zotero是一款开源免费的文献管理工具 xff0c 在各位大神制作的插件加持下 xff0c 对于我来说已经没有满足不了的文献管理需求了 xff01 xff01 xff01 现将zotero使用教程整理如下 首先感谢贡献zotero和zot
  • ROS多机器人时rviz无法显示机器人模型,提示:param robot_description not found by searchParam()

    如图所示 xff0c 使用ROS进行多机器人仿真时 xff0c RobotModel无法显示机器人模型 xff0c 提示 xff1a param robot description not found by searchParam 原因 x
  • xcode使用gdal库

    GDAL Geospatial Data Abstraction Library 是一个在X MIT许可协议下的开源栅格空间数据转换库 它利用抽象数据模型来表达所支持的各种文件格式 它还有一系列命令行工具来进行数据转换和处理 GDAL提供对
  • MAC系统版本AnyLogic提示the font “Times“ is not available

    问题原因 xff1a MAC新版本系统中移除了Times字体 导致JAVA运行出现问题 如图所示为需要安装的Times字体 解决方法 xff1a 重新安装TImes字体 下载地址
  • LIBTIFF读取tiff文件时,打印buf出错

    如图所示 xff0c 按照官网提供的例程读取tiff文件 xff0c 并打印读取的值时 xff0c 提示 xff1a Subscript of pointer to incomplete type 39 void 39 代码如下 xff1a
  • OHEM loss 源代码

    import numpy as np import torch import torch nn as nn class OhemCELoss nn Module def init self thresh ignore lb 61 255 s
  • git命令回退方法

    我们在使用git命令的时候 xff0c 有时候误输入命令 xff0c 导致需要回退到之前的状态 现在针对这种情况做一个汇总 xff1a 1 Git add回退 git status 先看一下add中的文件 xff0c 确定已经添加的文件 g
  • 思岚激光雷达A1使用

    1 使用思岚调试激光雷达测试软件 xff08 软件打开前和打开后雷达都是转动的 xff09 点击菜单栏上的扫面按钮 xff0c 扫描出周围的环境轮廓 方向和距离定义 测试完成 xff0c 关闭雷达测试软件 2 使用串口调试助手测试 测试A1
  • STM32读取MPU6050陀螺仪

    目录 一 硬件设计 1 模块说明 2 电气原理图 二 程序设计 1 工程创建 2 程序设计 xff08 1 xff09 main程序 xff08 2 xff09 IIC初始化 xff08 3 xff09 串口1配置 xff08 4 xff0
  • kalibr标定IMU

    kalibr标定IMU 必须明确的是 1 如何标定 2 标定的结果 3 如何验证标定结果的正确性 如何标定 标定所需文件 XX bag 包含有图片信息和IMU数据的ROS包 camchain yaml 包含相机的内参和畸变参数的文件 IMU
  • git diff和回退操作

    在git提交环节 xff0c 存在三大部分 xff1a working tree index file commit 这三大部分中 xff1a working tree xff1a 就是你所工作在的目录 xff0c 每当你在代码中进行了修
  • 基于Python socket利用TCP协议让上下位机 传输图片

    基于Python socket利用TCP协议让上下位机 传输图片 Notes 1 原理2 下位机代码 xff1a 3 上位机代码 xff1a Notes 之前用来做 基于QT 的物联网图形化软件的其中一个功能 xff0c 因为在这遇到过许多
  • Java中的final变量、final方法和final类

    1 final变量 final关键字可用于变量声明 xff0c 一旦该变量被设定 xff0c 就不可以再改变该变量的值 通常 xff0c 由final定义的变量为常量 例如 xff0c 在类中定义PI值 xff0c 可以使用如下语句 xff
  • 音视频开发技术的进阶路线

    1 音视频开发包括哪些内容 虽然一篇文章无法把音视频开发的知识点都介绍清楚 xff0c 但是大概的学习路线还是可以梳理一下的 xff0c 我们先看看下面这张图 xff1a 其实说白了 xff0c 音视频开发 xff0c 就是要掌握图像 音频
  • Ubuntu22.04应用程序启动时闪退

    Ubuntu22 04启动应用程序时闪退 xff0c 添加程序启动时参数解决 今天尝试在ubuntu安装QQ音乐 xff0c 安装后启动时弹出一下就闪退了 命令行启动程序 xff0c 报错 xff1a FATAL gpu data mana
  • STM32CubeMX上手初体验

    STM32CubeMX 提起嵌入式开发常用的IDE xff0c 你都用过哪些 xff1f 相信大家都用过keil xff0c 它上手简单 xff0c 许可证也可以通过众所周知的途径拿到 IAR有些小伙伴也用过 xff0c 它功能强大 xff