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

学会使用STM32CubeMX,一秒变STM32达人

[复制链接]
RM爱好者 发布时间:2019-12-11 14:14
下面我们来讲讲STM32CubeMX这个工具的作用,讲完后,可以自己下载一个试试,挺简单不多介绍。
到官网下载STM32CubeMX,并安装。
1 G; Q% F( ^+ [3 x% m
1:芯片选型
) y8 ^& k7 T! K/ t
打开STM32CubeMX,我们点击newproject,我们就可以进行芯片选型,如果你下载了打开了这个工具,是不是很惊讶,stm32的所有产品型号都在里面,而且左下提供了资源勾选,比如你要以太网支持,勾选以太网选项,所有的支持以太网的stm32芯片才会被显示,旁边还有个max的栏目指示了芯片最多支持该功能的个数。空白的一般默认只有一个。下图是我勾选以太网的截图。

4 |  l, o! n- `9 _& s
除了cpu资源可以选型外,上面还提供了脚多少,存储大小等非常灵活的选型方式。
我们选择其中一个的单片机后。右上部分给我们提供了完美的支持。

! _6 \+ E' {* w$ E" W! ~. z
第一个选项提供了改cpu的特性,我们可以大概的了解选中的cpu资源。
6 f6 G3 k; ?: t. j6 M' P2 u
11.png
7 M3 R1 }- S/ P9 I; z
第二个选项提供该cpu框图,截图图片太大,这里就不截图了。

. i3 G7 t  @" n0 D+ v' H
第三个选项提供了cpu文档,这个文档非常多也非常全面,基本不用在网上东找西找了,主要给硬件工程师用。
& e: o7 _2 Y$ b; T' _
第四个选项提供了cpu的相关设计资源,软件编程文档,给软件工程师用,非常全面,包括网上很少用到的文档资料,比如系统移植相关的底层资料(堆栈,指令,汇编)。

- n/ Z4 `) W" [: d) i/ g0 K
第五个选项提供了芯片购买途径,这个每个人自己选择吧。

: z& J" P6 C" s6 Y+ A  c! ~
第六个选项开始工程,芯片选好了,就可以开始工程。

/ U* K# x, W* `7 I; \" v  ~9 b, @% a
2:设定芯片。

$ c6 E$ o5 f/ o
芯片选好后,可以开始设定芯片。这就是软件工程师的好帮手呀。比如我要以太网功能,勾选上以太网即可,他就会自动分配出芯片对应的以太网接口。如下图:

0 b3 R4 }* ~7 f" }$ o' G4 L
22.png

4 [& ]& B& H  F$ h5 l  B
上面我选了标准的MII接口。很多人可能就不理解,你勾了个以太网,咋报错了。老鸟告诉你为啥变红了,stm32有个复杂的功能就是io口复用,勾选mii后分配的io口和spi2以及iis口重合了,所以这个工具非常智能的提示了出来,非常神奇吧。告诉你他们不能使用了。还有些变黄了,说明他们可以选择性使用,真是太方便了,省去了查资料慢慢找io的痛苦。比如我们还要给它个外部时钟。我们勾选时钟即可,响应的时钟脚就会分配出来。

4 x+ Z& F7 J( L! c& c
33.png

$ o! l5 U- G- d: e% B+ ?/ K
如果要将某个脚设置成输入输出那就更简单了,鼠标点选对应的io口选择对应功能即可,比如我单击PA6,它的所有功能可以轻松选择:
, {$ E. [6 j1 _/ ?+ C4 ]
44.png
4 K6 I% F! F1 U4 Z7 l' z- A" E
软件使用比较简单,不过多解释,一看就明白,设置完芯片功能后,我们就设定系统各项功能时钟。
选择时钟设置页面(clock configuration)时钟轻松设定,如下图,简单明了,不过多解释了:

& \( S, v# f: s% D9 L$ b7 ^6 m4 y. s
55.png
" a) t0 }4 B% a: Y
时钟配置完成后,可以切换到configuration选项对功能进一步设定,里面参数都是常用的功能,设置较为简单。就不多举例了,比如网络功能里面设置mac地址等。

0 l0 R/ ^+ C! F" K
66.png
  P9 x3 H! k+ F8 L6 J1 C
3:生产初始化代码

4 s% {6 o) r9 P" P
经过上面的图形化设定,我们可以直接生产初始化代码。省去我们查阅资料慢慢配置的的环节,时间更多的利用在应用层设计。点击project下面的生成代码选项。输入工程名(根据你项目需要起名),这里我就随便输入一个名字。设定好相关参数。点击ok即可。顺便说下,这个工具是配带教程的,我这里只是告诉大家有这样个工具可以加速开发,具体设置参考官方教程。
生成后打开文件夹内容如下:

+ j' {, ?  ], f2 C7 C7 m
77.png
; P4 ^4 x9 ~& c, G
上图的inc 和src文件夹里面是生成的主要代码,其他几个文件夹里面的东西,大家可以根据自己需要选择。src文件夹文件如下:

' }; [% t: p. t3 R- R" c
88.png
# G6 i4 r1 J' l  H% H* C/ B
打开熟悉的main.c,可以看到如下内容:

+ q: k" P+ J) w8 i
99.png
, J! d7 d/ H5 x3 _
初始化已经完成,直接写自己的功能即可了,然后就是加入到工程里面编辑,是不是非常简单。熟悉的话10来分钟一个工程构架就出来了。这样一来,stm32就变成最简单的单片机了,有木有,这个是基于库函数的,io操作直接可以查看库函数手册完成。这个工具主要是加速底层开发。轻松弄出自己的应用程序。对于新入手stm32来说,用这个库函数,让开发变得简单。减少定时器,can,ad,line等外围配置花去的时间,图像化配置,秒变高手。最主要的是功能直观可见,编辑性好,可导入工程编辑。修改配置也简单。6 \6 Z' W0 M* P" ]. Y

' B9 V2 V9 h; A$ X9 L8 K

% B% Q! O% |( z7 L9 R
) b$ t# y# C) p8 g, t* J# A

  q6 @; c8 I8 |& a9 R- y" S
收藏 评论2 发布时间:2019-12-11 14:14

举报

2个回答
Kinngxingxing 回答时间:2019-12-11 21:22:45
新手引导很不错,之前一直用keil.
网络孤客 回答时间:2019-12-11 21:53:59
希望CubeMX设置后能换芯片
: J3 i/ f7 v4 o# r0 W1 q, V( R' }0 O: K. x  e8 _! W4 ?" G
就像某大侠总结的定律,项目往往开发到最后,才发现缺一个IO口。
; R7 C0 }- K% Z) R
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版