【MCU】【STM32】1.cube MX库使用笔记

STM32Cube 是一个全面的软件平台,包括了ST产品的每个系列。(如,STM32CubeF4 是针对STM32F4系列).

平台包括了STM32Cube 硬件抽象层和一套的中间件组件(RTOS, USB, FS, TCP/IP,  Graphics, 等等).

cubeMX的主要优点:

1.直观地进行STM32选择

2.图形化配置

3.C代码项目产生,涵盖STM32初始化部分。兼容IAR, KEIL和GCC编译器

4.支持Eclips

安装软件 到ST官网下载软件包和cube库,并安装好。
新建工程
点击NEW Project,新建工程,

或者file-->new project也可

选器件 下面是选择器件板子,可以根据MCU进行选择,也可以根据board型号选择
选板子
我用的板子是STM32F411RE,所以产商选择STMicroelectric,

版本选择Nucleo,型号选择F4系列,便可看到列表中有F411选项了

引脚配置
双击F411RE,可以进入pinout引脚配置界面,在这个界面可以配置引脚,

可以直接在芯片示意图上配置,十分方便

其他配置 其他的配置选项如图,有时钟配置,外设配置,功耗计算
时钟配置
时钟配置如图,也是图形化界面,很方便快捷就可以配置好,

只需要更改数字就可以得到想要的频率

外设配置
外设的配置如图,只需要双击要配置的外设即可进行配置,比如我配置GPIO,

进入后可见如图窗口,可以选择GPIO的模式,上下拉,输出速度

功耗计算 功耗选项如图,并不常用
生成工程
配置完成后,点击生成工程文件按钮,弹出工程设置窗口,填写工程名,选择目录,

选择编译器,可选EWARM,MDK等。最后点击OK,便可生成工程文件了,

用编译器打开后,就可以方便地编写代码了,省去了繁琐的配置工作

注意事项

  • 使用起来总体还是比较简单的,只要对STM32比较了解,看着软件里的提示就可以独立完成
  • 在生成的文件里写代码时要在指定区域内写,不然下次再用CubeMX的话会被删掉的
  • 手动添加库目录:  C:\Users\<用户名>\STM32Cube\Repository
时间: 2024-10-25 21:48:18

【MCU】【STM32】1.cube MX库使用笔记的相关文章

STM32 Cube固件库编程之新建工程

Cube固件库是ST现在主推的固件库,并且在它的官网已经找不到原来的标准库可供下载.Cube固件库的构架图如下 这种新式构架可以有效的加快软件工程师的工程进度. 新建一个工程项目主要包括以下的步骤: 1.使用它提供的模板或是拷贝一个现有的工程 2.加入你可能用到的middleware 3.拷贝相应的HAL及middleware的配置头文件到你的工程中 4.检查主函数中调用的HAL_Init() 5.配置系统时钟 6.初始化外围 7.这一步就是根据你的设计要求写你自己的工程了

【玩转单片机系列002】 如何使用STM32提供的DSP库进行FFT

前些日子,因为需要在STM32F103系列处理器上,对采集的音频信号进行FFT,所以花了一些时间来研究如何高效并精确的在STM32F103系列处理器上实现FFT.在网上找了很多这方面的资料做实验并进行比较,最终选择了使用STM32提供的DSP库这种方法. 本文将以一个实例来介绍如何使用STM32提供的DSP库函数进行FFT. 1.FFT运算效率 使用STM32官方提供的DSP库进行FFT,虽然在使用上有些不灵活(因为它是基4的FFT,所以FFT的点数必须是4^n),但其执行效率确实非常高效,看图

0806------Linux网络编程----------Echo 网络库 学习笔记

1.Echo网络库的编写 1.1 Echo网络库1.0 1.1.1 Echo网络库 1.0 框架分析 a)class InetAddress: 主要用来定义一个struct sockaddr_in 结构(用自定义端口号初始化),并提供获取这个结构体成员如IP.Port等的接口: b)class Socket : 主要用来把一个普通的 sockfd 变为 listenfd(这里用一个sockfd初始化对象),提供bind .listen.accept 等接口. c)class TcpConnect

初探boost之timer库学习笔记

timer 用法 #include <boost/timer.hpp> #include <iostream> using namespace std; using namespace boost; int main() { timer t;//声明一个计时器对象,开始计时 cout<<"max:"<<t.elapsed_max()/3600<<"h"<<endl; //可度量的最大时间,以小时

初探boost之progress_display库学习笔记

progress_display 用途 progress_display可以在控制台上显示程序的执行进度,如果程序执行很耗费时间,那么它能提供一个友好的用户界 面,不至于让用户在等待中失去耐心,甚至怀疑程序的运行是否出了问题. 用法示例 #include <boost/progress.hpp> #include <iostream> #include <vector> using namespace std; using namespace boost; int ma

基于STM32的USB枚举过程学习笔记

源:基于STM32的USB枚举过程学习笔记 基于STM32的USB枚举过程学习笔记(一) 基于STM32的USB枚举过程学习笔记(二) 基于STM32的USB枚举过程学习笔记(三) 基于STM32的USB枚举过程学习笔记(四) 基于STM32的USB枚举过程学习笔记(五)

关于egret引用第三方库的笔记

关于egret引用第三方库的笔记 当前我需要使用一个第三方的js库(umeng的js统计): 我创建个UmengAnalysis.js文件,代码如下: /**  * Created by haocao on 15/6/25.  */ var umeng; (function(umeng){     function onClickEvent(label,duration){         onEvent('click',label,duration)     }     function on

初探boost之smart_ptr库学习笔记

概述 Boost.smart_ptr库提供了六种智能指针,除了shared_ptr 和 weak_ptr 以外还包括 scoped_ptr .scoped_array . shared_array .intrusive_ptr .他们的速度与原始指针相差无几,都是异常安全的,而且对于类型T也仅有一个要 求:类型T的析构函数不能抛出异常. 使用时包含头文件: #include<boost/smart_ptr.hpp> scoped_ptr 用法: scoped_ptr 的构造函数接受一个类型为T

基于意法半导体MCU STM32的底层配置

意法半导体MCU是全球领先的半导体供应商,自成立以来已满足了市场上多元化的需求,提供了各行业领域范围半导体产品及解决方案.为了保持其技术优势,意法半导体坚定地致力于创新,约有7400人从事研发和产品设计工作,并在2018年将其收入的15%用于研发.STM32MCU被广泛应用在各种丰富的不同行业当中.为此本篇文章将介绍有关STM32底层配置的相关技术. 本文通过,介绍STM32主要的底层配置,通过关键步骤的程序源代码的介绍,阐述实现数据传输的细节以及注意事项.该方法对其他项目或芯片有一定的实现价值