STM32 第9讲 STM32CubeMX简介安装和简单使用

2023-05-16

文章目录

  • STM32CubeMX安装
    • 安装JAVA环境
    • 安装STM32CubeMX
    • 下载关联STM32Cube固件包
  • 新建工程
    • 芯片选型
    • 配置时钟源
    • 时钟树配置
    • GPIO引脚配置
    • Debug选项配置
    • 生成工程
    • 编写逻辑代码

STM32CubeMX安装

STM32CubeMX是ST开发的一款图形配置工具,可以通过图形化配置自动生成初始化代码。
STM32的标准外设库已经停止维护了。

安装JAVA环境

安装STM32CubeMX之前必须安装JAVA环境,这两个顺序不能调换。
官网下载地址link
下载完成后,点击安装包,直接安装即可。
在这里插入图片描述
接下来检测是否安装成功。
Win + R 输入cmd打开指令窗口,键入java -version,显示当前java版本号则安装成功。
在这里插入图片描述

安装STM32CubeMX

官网下载地址link
安装注意事项:

  1. 建议不要安装在C盘
  2. 安装路径不能有中文字符

双击安装包开始安装
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
即安装完成了

下载关联STM32Cube固件包

双击下载好的STM32CubeMX,在Help栏中找到Updater Settings,更改固件安装包的位置,避免装在系统盘。
在这里插入图片描述
在这里插入图片描述
点击Help栏中的管理固件包选项,对固件包进行管理。
在这里插入图片描述
在这里插入图片描述
选择需要的版本 Install 后会自动解压关联。
选择本地已经下载好的固件压缩包,关联成功后会显示绿色。
在这里插入图片描述

新建工程

芯片选型

在这里插入图片描述
选择自己所需要的芯片双击
在这里插入图片描述

配置时钟源

在这里插入图片描述

时钟树配置

在这里插入图片描述
① 时钟源参数设置:我们选择 HSE 为时钟源,所以我们要根据硬件实际的高速晶振频率(这里我们是 8MHz)填写。
③ 时钟源选择:我们配置选择器选择 HSE 即可。
④ PLL1 分频系数 M 配置。分频系数 M 我们设置为 8。
④ PLL1 倍频系数 N 配置。倍频系数 N 我们设置为 336。
⑤ PLL1 分频系数 P 配置。分频系数 P 我们配置为 2。
⑥ 系统时钟时钟源选择:PLL,HSI 还是 HSE。我们选择 PLL,选择器选择 PLLCLK 即可。
⑦ 经过上面配置以后此时 SYSCLK=168MHz。
经过上面的 7 个步骤,就配置好 STM32F4 的系统时钟为 168MHz。接下来我们还需要配置AHB、APB1、APB2 和 Systick 的分频系数,为 STM32 的片上外设或 M4 内核设置对应的工作时钟,为后续使用这些硬件功能做好准备.AHB、APB1 和 APB2 总线时钟以及 Systick 时钟的来源于系统时钟 SYSCLK。其中 AHB总线时钟 HCLK 由 SYSCLK 经过 AHB 预分频器之后得到,如果我们要设置 HCLK 为 168MHz (最大为 168Mz),那么我们只需要配置图中标号的地方为 1 即可。得到 HCLK 之后,接下来我们将在图标号⑨~⑪处同样的方法依次配置 Systick、APB1 和 APB2 分频系数分别为 1、4 和 2。注意!systick 固定为 168MHz,配置完成之后,那么 HCLK=168MHz,Systick=168MHz,PCLK1=42MHz,PCLK2=84MHz,这和之前例程配置的时钟频率是一样的。以上方法是手动计算的方法,是为了帮助我们更好地去认识 STM32 时钟的配置方法,当然CubeMX 也提供了更简单的方法:在“HCLK(MHz)”位置,实际上是可以编辑的。我们直接输入我们要的时钟频率,这里是 168MHz,按回车键,CubeMX 会帮我们提供一种设置时钟频率和其它时钟的建议,选择是后会由软件自动配置好,当然只有启用外部的晶振后才能配置到 168MHz 的时钟。

GPIO引脚配置

通过原理图可以知道开发板的LED连接在 PF9 和 PF10 两个引脚上。
我们在芯片上找到两个引脚,设置为GPIO_Output模式.
在这里插入图片描述
在GPIO这一栏中进一步配置
在这里插入图片描述
GPIO output level 是 IO 的初始值,由于 LED 一端接 VCC,另一端接 GPIO,故要点亮 LED灯时,使 GPIO 输出低电平即可。为了一开始让 LED 灯熄灭,我们设置初始值输出高电平。
GPIO mode 我们已经在视图中配置为推挽输出了,这里不需要修改。
GPIO Pull-up/Pull-down 默认是无上下拉,我们这里用默认配置。
Maximum output speed 输出速度配置,默认是低速,我们设置为高速。
User Label 用户符号,我们可以给 PF9 起一个别名 LED0。
PF10 也是按照这样的方法配置,给 PF10 起一个别名 LED1。

Debug选项配置

在这里插入图片描述

生成工程

在这里插入图片描述
在这里插入图片描述
配置好后就可以生成工程,打开文件了
在这里插入图片描述

编写逻辑代码

在预留的位置中间编写用户代码,如果在其他地方编写,在更新工程后会覆盖掉用户代码。
在这里插入图片描述

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

STM32 第9讲 STM32CubeMX简介安装和简单使用 的相关文章

  • STM32与人体红外感应模块的简单使用——入门级

    工作原理 人体有恒定的温度 xff0c 可以发出10UM的红外波 xff0c 而人体红外感应模块就可以探测出这些红外波 xff0c 从而产生电平转换 由此人们可以使用人体红外检测模块来检测是否有人 模块工作环境 工作电压 xff1a 5V至
  • 光敏,红外,人体红外检测模块的模拟输出(ADC)实验——入门

    前面给大家介绍了传感器的开关输出的使用 xff0c 今天给大家介绍一下常见传感器的模拟输出的用法 xff0c 用到了STM32的ADC xff08 模数转换 xff09 模块和USART串口通信模块 代码就是正点原子的ADC实验的代码 今天
  • 直流电机+L298N电机驱动模块

    本次来写一下关于驱动直流电机的知识 xff0c 今天目的是驱动它 xff0c 下次写使用PWM精准的对直流电机进行控速 下面是我使用的直流电机图 xff1a 由于STM32单片机不能直接的输出较大电压和电流 xff0c 所以得借助驱动模块来
  • 操作系统的内存管理——页式、段式管理、段页式管理

    操作系统的内存管理中段式管理与页式管理并不是对立的 xff0c 他们结合起来内存的使用效率会更高 他们都属于离散分配内存的管理方式 xff0c 当然还有连续型内存分配的管理方式 xff0c 连续分配是指为一个用户程序分配连续的内存空间 连续
  • linux内存机制原理---分页、分段底层原理

    自我总结 xff1a 分段 43 分页 43 虚拟内存 61 现代操作系统的内存管理机制 一 linux的内存分布 内核与高速缓冲区占用了前1MB内存 xff0c 后面15MB属于主存 xff0c 可以由用户自由分配 四种地址 xff1a
  • linux进程的内存与ELF文件

    一 linux为每个进程分配的虚拟内存 提到进程的内存就是虚拟内存 1G的内核区域 3G的用户区域 xff0c 提到进程的内存就是下面这个图 xff0c 都可以用它进行分析 虚拟内存是为了实现多任务 xff0c 所以操作系统才引入了它 二
  • YOLO终结者?RT-DETR一探究竟!

    作者 迪迦奥特曼 编辑 极市平台 点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自动驾驶之心 目标检测 技术交流群 导读 实时目标检测中击败YOLO家族 xff1f 来看看百度飞桨的
  • C语言中的位段操作—嵌入式学习(实习篇)

    记录实习期间学到的新的知识 malloc申请内存 xff1a 当申请小内存的时 xff0c malloc使用sbrk分配内存 xff1b 当申请大内存时 xff0c 使用mmap函数申请内存 xff1b 但是这只是分配了虚拟内存 xff0c
  • 运行excel时报错“由于找不到vcruntime140_1.dll,无法继续执行代码”--已解决

    问题描述 xff1a 清除文件时误删microsoft visual c 43 43 2015 microsoft visual c 43 43 2018等文件 xff0c 导致运行excel时报错 由于找不到vcruntime140 1
  • Jetson TX2新手上路全记录(2)

    xff08 2 xff09 查看ubuntub版本 cat proc version 判断ubuntu网络是否连通 xff1a ping www baidu com 数据刷新无异常即连通 破防了 xff0c 前天刷机看来没成功 原因 xff
  • TX2查看cudnn版本 `cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2无反应

    之前cat usr include cudnn h grep CUDNN MAJOR A 2命令可以查看cudnn版本 xff0c 但是之后新版本的版本信息放在了cudnn version h xff0c 我的环境为ubuntu18 04
  • yolo实现交通信号灯视频流识别代码搬运及调试

    yolo实现交通信号灯视频流识别调试过程 所用代码 xff1a 基于YOLOv3的红绿灯检测识别 xff08 Python源码可直接运行 xff09 原作者是tensorflow1 xff0c 我的环境是tensorflow2 xff0c
  • TX2通过yolov4实现交通信号灯视频检测

    所用代码以后上传 环境部署 Jetson TX2刷机及安装的软件包版本如下 xff1a 整个过程中遇到最多的就是不同tf keras版本之间导致的问题 xff0c 所以部署环境的时候千万注意各种包的依赖关系 xff0c 我因为兼容性问题走了
  • TX2 查看内存使用情况

    TX2 查看内存使用情况 不知道为什么无法使用sudo xff5e tegrastats xff0c 报错 command not found 参考NVIDIA TX2 目标检测 查看显卡使用状况 jtop jtop使用指南 NVIDIA
  • Modelsim解决中文注释乱码

    Modelsim中文注释出现乱码 xff0c 解决过程如下 1 菜单栏 Tools Preferences xff0c 点击By name 2 找到source选项 xff0c 下拉选项中双击encoding 3 弹出的对话框中将encod
  • 【资料分享】IMAX-B6AC充电器使用方法

    因为说明书都是英文的嘛 xff0c 所以 xff0c 还是写个充电方法吧 刚打开的时候 xff0c 界面应该是这个样子的 如果很不幸 xff0c 你的不是 xff0c 那么 xff0c 多按几次Stop键 xff0c 直到它是这个界面 菜单
  • GPIO简介

    1 什么是GPIO xff1f GPIO是General Purpose Input Output xff0c 即通用输入输出端口 xff0c 简称GPIO 作用 xff1a 负责采集外部器件的信息或者控制外部器件工作 xff0c 即输入输
  • 多目标跟踪入门:从SORT到FairMOT

    点击下方卡片 xff0c 关注 自动驾驶与AI 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自动驾驶之心 目标跟踪 技术交流群 后台回复 目标跟踪综述 获取单目标 多目标 基于学习方法的领域综述 xff01 目标跟踪分为单目标
  • STM32的四种开发方式

    STM32的四种开发方式 首先看下ST官方给出的四种开发方式的比较 寄存器开发 寄存器编程对于从51等等芯片过渡过来的小伙伴并不陌生 xff0c 不管你是什么库 xff0c 最终操作的还是寄存器 xff0c 所以对于标准库 HAL库 LL库
  • STM32物联网项目-串口打印

    串口打印 1 用STM32CubeMx配置串口 串口1模式选择异步 xff0c 不开启硬件控制流 波特率 xff1a 115200 数据长度 xff1a 8位 校验位 xff1a 无 停止位 xff1a 1位 使能接收和发送 重复采样 xf

随机推荐

  • STM32使用串口空闲中断(IDLE)和 DMA接收一串数据流

    STM32使用串口空闲中断 xff08 IDLE xff09 和 DMA接收不定长数据 方法一 使用宏定义判断IDLE标志位 空闲的定义是总线上在一个字节的时间内没有再接收到数据 xff0c USART IT IDLE空闲中断是检测到有数据
  • 串口通信printf函数重定向

    串口通信printf函数重定向 printf函数重定向在51单片机的串口通讯也使用过 xff0c 但51重写的时putchar函数 xff0c 这次STM32重写的是fputc函数和fgetc函数 xff0c 至于为什么51和STM32重写
  • GPS NMEA数据包解析

    GPS NMEA数据包解析 NMEA 0183是美国国家海洋电子协会为海用电子设备制定的标准格式 它包含了定位时间 xff0c 纬度 xff0c 经度 xff0c 高度 xff0c 定位所用的卫星数 xff0c DOP值 xff0c 差分状
  • CAN通信

    CAN的通信速率按照电调的手册要求的1Mbps配置 xff0c 71 42854142857473ns xff08 9 43 4 43 1 xff09 61 1000ns 61 1us 61 1Mbps CAN总线的一个数据帧中所需要传输的
  • 网络传输:linux下的网络请求和下载(ping wget curl)、端口

    一 下载和网络请求 1 ping命令 可以通过ping命令 xff0c 检查指定的网络服务器是否可连通状态 语法 xff1a ping c num ip或主机名 选项 xff1a c 检查的次数 xff0c 若不使用 c xff0c 将无限
  • python的 ping 网络状态监测方法(含多IP)

    ping 基本概念 ping xff08 Packet Internet Groper xff09 是一种因特网包探索器 xff0c 用于测试网络连接量的程序 Ping是工作在 TCP IP网络体系结构中应用层的一个服务命令 xff0c 主
  • MS5611气压传感器中文资料

    MS5611是新一代高分辨率气压传感器 xff0c 分辨率可达10cm 其内置24位AD转换器 xff0c 支持IIC和SPI通讯协议 xff0c 传输速率可达20MHz 其转换时间可以设置 测量 工作范围 xff1a 10 1200mba
  • STM32学习——串口数据收发

    STM32学习 串口数据收发 61 61 STM32的串口通信 61 61 61 61 HAL库中串口发送的重要函数 61 61 61 61 STM32定时器实训 61 61 STM32的串口通信 异步串行通信 xff1a 通信双方在没有同
  • 赛目科技2023校园招聘火热进行中!(算法/开发等多个岗位)

    点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自动驾驶之心 求职交流 技术交流群 一 赛目概况 我们是专注于仿真技术自主创新的技术驱动型公司 xff0c 主要从事 ICV 仿真测 试
  • 多模态运动数据采集系统

    为给研究人员提供更多有效的多模态同步数据集 xff0c 合肥工业大学的程景铭团队设计了一个多模态运动数据采集系统 xff0c 采集了包含全身运动多模态数据集 xff0c 并利用已有算法对数据集进行了评估测试 多模态运动数据采集系统 多模态运
  • 【STM32】 STM32 F4 串口通讯

    概念 串口 xff0c 即串行接口 xff0c 是一种可以将接收来自CPU的并行数据字符转换为连续的串行数据流发送出去 xff0c 同时可将接收的串行数据流转换为并行的数据字符供给CPU的器件 串口通信 xff08 Serial Commu
  • 【安装】安装ros机器人系统和无人机环境配置常见问题总结

    安装ros机器人系统和无人机环境配置常见问题总结 一 安装ROS二 无人机环境配置更多安装 Ubuntu16 04安装ros xff1a http wiki ros org cn kinetic Installation Ubuntu Ub
  • ubuntu18.04搭建python环境

    注意 xff1a 我使用的是虚拟机 xff0c 在操作前请确保虚拟机可以访问到网络 1 安装python3 9 0解释器 xff0c 配置环境变量 2 配置虚拟环境 一 安装python3 9 0 到 opt python39 更新软件源
  • vscode生成的exe文件出现中文乱码的问题

    问题描述 vscode生成的exe文件出现中文乱码的问题 解决方案 xff1a 头文件处添加 xff1a span class token macro property span class token directive hash spa
  • c++进行函数重载时报错:此运算符函数的参数太多C/C++(344)

    问题描述 c 43 43 进行函数重载时报错 xff1a 此运算符函数的参数太多C C 43 43 344 原因分析 xff1a C 43 43 中类内运算符重载时只能有且仅有一个参数 解决方案 xff1a 方案一 xff1a 将重载函数作
  • c++中加入随机种子的方法

    c 43 43 中加入随机种子的方法 提示 xff1a c 43 43 中加入随机种子的方法 解决方案 xff1a span class token macro property span class token directive has
  • STM32 第5讲 MDK下载安装注册及配置

    目录 MDK下载安装注册MDK简介MDK下载MDK安装器件支持包安装注册鸡 MDK配置 MDK下载安装注册 MDK简介 MDK不同版本对比 MDK下载 MDK安装使用 61 MDK软件安装 43 器件支持包安装 MDK软件下载 xff1a
  • STM32 第7讲 STM32F407系列系统架构及映射

    Cortex M内核 amp 芯片 F407系统架构 注 xff1a 64KB CCM 内核耦合存储器 数据 RAM不属于总线矩阵 xff0c 只能存数据 xff0c 不支持DMA xff0c 但访问速度快 总线矩阵 xff1a 总线矩阵用
  • 稳了!理想汽车一季报亮眼,禾赛或成大赢家

    作者 Alan 编辑 激光雷达老炮儿 点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 5月10日 xff0c 理想汽车公布2023年第一季度财报 xff0c 季度营收和交付量双双创下历史新高 第
  • STM32 第9讲 STM32CubeMX简介安装和简单使用

    文章目录 STM32CubeMX安装安装JAVA环境安装STM32CubeMX下载关联STM32Cube固件包 新建工程芯片选型配置时钟源时钟树配置GPIO引脚配置Debug选项配置生成工程编写逻辑代码 STM32CubeMX安装 STM3