你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32CubeMX-系列教程入门

[复制链接]
STMCU小助手 发布时间:2022-6-26 14:23
    STM32Cube 是一个全面的软件平台,包括了ST产品的每个系列。平台包括了STM32Cube 硬件抽象层(一个STM32抽象层嵌入式软件,确保在STM32系列最大化的便携性)和一套的中间件组件(RTOS, USB, FatFs, TCP/IP,  Graphics, 等等)。
  • 直观的STM32微控制器的选择和时钟树配置
  • 微控制器图形化配置外围设备和中间件的功能模式和初始化参数
  • C代码生成项目覆盖STM32微控制器的初始化符合IAR™,Keil的™和GCC编译器。

    + N# ]5 v; i( h  o: V; ?
    对于新的产品设计,我们强烈推荐使用STM32Cube来加速你的开发过程,并为以后的产品平台移植打下良好的基础。
1 l# @. \# h2 y
新建工程5 m% [/ K5 P  Q0 R2 K+ T
    打开STM32cubeMX软件,点击New Project。选择对应开板MCU(STM32F103ZET6)。

5 v9 ?0 N# g% n6 W( m" ]5 P; I
微信图片_20220626142351.png

- @) F: A6 ]3 a* T
    选择工程后进入工程界面,如下图所示。
) w+ F! ^5 }7 [) }1 l
: [. @  G( P. a, a; J' z% _
微信图片_20220626142347.png

+ R, o( w  D8 E4 m: k
配置外设
4 f6 A- k* D! W! h# `' P9 o, W
    RCC设置,选择HSE(外部高速时钟)为Crystal/Ceramic Resonator(晶振/陶瓷谐振器)。
    GPIO口功能选择,PF6,PF7,PF8,PF9为LED1-LED4.找到对应管脚设置为GPIO_Output模式。(黄色引脚为该功能的GPIO已被用作其他功能,可以忽略。绿色表示管脚已使用)

* T* n6 G/ I. }
时钟配置
    时钟配置采用图形配置,直观简单。各个外设时钟一目了然。STM32最高时钟为72M,此处只有在HCLK处输入72,软件即可自动配置。(RCC选择外部高速时钟)。
6 {4 Z* A5 K8 D$ S! [2 |! V
微信图片_20220626142344.png
5 F; a* c5 Z) Y3 Y/ }$ q
功能外设配置
1 }! b5 t; p. J
微信图片_20220626142340.png

% W, x8 k) B% s$ [& o# k5 g
    在配置框我们可以看到有几个区域,分别对应的功能设置如下) Q1 d2 \7 ]% K) `0 Y
  • Multimedia(多媒体):音频视频、LCD
  • Control(控制):定时器
  • Analog(模拟):DAC、ADC
  • Connectivity(通讯连接):串口、SPI 、I2C、USB、ETH
  • SYStem(系统):DMA(直接存储器存取)、GPIO、NVIC、RCC、看门狗
  • middlewares(中间件): FreeRTOS、FATFS、LwIP、USB

    6 u9 B  \$ n  `& S, b9 c% u0 Z5 Z4 ~
    此工程中DMA没用的不用配置,NVIC(嵌套中断向量控制器(Nested Vectored Interrupt Controller))配置中断优先级。RCC不用配置。
微信图片_20220626142337.png

- g9 v! Z3 ^3 c! e5 u
  • GPIO Pin Level (管脚状态):低电平
  • GPIO mode (管脚模式 ):推挽输出
  • Maximum output speed (最大输出速度):低速
  • User Label (用户标签)ED1

    " Y1 x9 Q- e6 b+ \/ {9 p4 W( Y
    更改用户标签,管脚配置图会显示管脚的标签。
微信图片_20220626142334.png
3 K; h& T2 y( P+ y+ d; N
功耗计算) E3 y4 k& a8 ]1 K- q3 o8 [
    这个根据配置的外设计算功耗,不用理会。

  I$ m% g; d- ?
微信图片_20220626142331.png

; T& n2 g" S& [: j7 Q, q' D* K, p3 s
生成工程报告  b9 N1 Y% h; X2 H
    点击Project –>Generate Reports或者点击快捷图标生成报告。系统会提示先创建一个工程项目。点击Yes设置工程。
    输入工程名,选择工程路径(注意不要出现中文,否则可能出错)。工具链/IDE选择MDK-ARM V5。最后面可以设置堆栈大小,此处默认不作修改。
9 m( j8 N& u8 |$ |6 t% D" {0 Q
微信图片_20220626142328.png

$ @1 x/ U6 u! j! D; M! K3 E& \( y
    在Code Generator中找到Generated files框,勾选Generated periphera initialization as a pair of '.c/.h' files per IP。外设初始化为独立的C文件和头文件。
    点击生成报告,工程目录下会生成txt文件和pdf文件,里面记录了我们刚才的设置。2 ?3 W9 }" N+ X( Q$ y/ {

3 {- Q& t* K7 ?) B
生成工程代码
    点击Project –>Generate Code或者点击快捷图标生成工程代码。
3 B6 _3 w8 F& p# U2 ]6 B) ~

9 ~, ?3 |" a, O$ b) v
微信图片_20220626142325.png
. b" n7 a, ~8 M7 D' b$ p( G
    点击Open Project打开工程。到此就配置好工程外设初始化。6 U' w5 o( `; D" G
+ b- x8 l3 b8 `6 t8 j
微信图片_20220626142322.png
& T/ p) T6 \2 T; X
    点击Build按钮,Build Optput信息框会输出没有错误没有警告。( o' J1 y, ]& w% o# Q
3 f/ Z+ ~) k* g7 b
添加应用程序
    在gpio.c文件中可以看到LED管脚的初始化函数。
6 C: I- f  o  N3 i* z" f* G& B
7 v! U  p9 F7 P
微信图片_20220626142319.png

9 u3 J: |! Z# d) E% c6 a' @4 Q6 |' a
    在stm32f1xx_hal_gpio.h头文件中可以看到GPIO的操作函数。
* A8 i4 Y1 R8 C  j

7 J* c, S5 o# L. e" [' R
微信图片_20220626142315.png
- Z6 W! m* S& w9 ~! W
    在main函数中的while循环中添加LED流水灯效果的应用程序。
( k* A+ t* l( w1 k5 L# R

) A! t8 U" b8 ?% A+ E4 h
微信图片_20220626142312.png
$ E& C( j. ]6 X$ Z- O
    重新编译程序,点击下载到Open103Z-C开发板。如果提示错误,可以点击图标对Option for Target 的Dubug选项进行修改。选的是ST-LINK)
    点击Settings->Flash Download勾选 Reset and Run选项。这样程序下载后自动启动运行,不用再按一下复位或者重新上电才能运行。
$ O5 [$ }& d0 s% r
微信图片_20220626142307.png

5 g2 H" g: N2 H6 Z5 \. y
    程序下载到Open103Z-C开发板。可以看到LED1~LED4依次被点亮,实现流水灯的效果。
    总结:STM32Cube提供了固件库,用户可直接调用固件库函数来开发,并且可以很好的实现STM32-MCU全系列的代码一致性。同时STM32CubeMX工具提供的可视化引脚、外设、时钟等配置功能,可以帮助快速完成工程的建立、初始化。大大降低了开发者的工作量。后续我们会结合微雪Open746I-C开发板,通过STM32cubeMX系列教程讲解如何学习STM32F7系列的片上外设。通过STM32F7系列的学习,可以让各位更快的掌握其他系列的使用方法。
; n- j' X, r% Q* O0 A9 e2 i
赞 收藏 评论0 发布时间:2022-6-26 14:23

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版