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

STM32CubeIDE使用

[复制链接]
STMCU小助手 发布时间:2022-12-23 17:00
安装) m$ y: i0 n+ A% u6 J* ]; Y
STM32终于出了这样一款工具,之前也出过开源的eclipse开发工具,但这次帮你打包了一站式的,更方便了,点击此处下载,下载需要有自己的账号,安装一路默认就可以了。! j4 H; M9 d3 u  H0 y: D' m) o( X3 S  \
6 i( H" G3 V& _: l
使用
7 `6 [8 X( R  H* r
新建stm32工程:文件 > 新建 > STM32 Project,弹出下面的向导,通过1,2,3等过滤选项,选出正点原子战舰V3对应的stm32f103ze系列芯片,点击Next,) ^1 e5 Z) Y* g
" {% c7 J7 j1 c8 `9 k
20191004221427361.png . Y0 t& Y. K7 u( _( o$ @% R
. Z+ m  B3 v& Z# C0 `3 P. i; [
下面一路默认选项,如果你是第一次使用,会自动开始下载相应的固件包,我这自动下载的过程被打断,弹出一个对话框说代码生成失败,现在尝试手动来操作,点击Help > Manage embedded software update,这个菜单只有在*.ioc的CubeMX文件打开的情况才可以点击,弹出一个对话框,下载f1系列的包,可以看到下面有一个From Local,可以离线导入的,如果网实在太差,就别处下好导入,我最后还是离线导入的,官网下载stm32cubef1,是的,英文官网的速度飞起,比国内的网站还快,
" G. U( n# u7 m' Q6 J3 u8 m. z
: {+ L5 @1 d: J" g
20191004222411389.png 9 [7 `, c; [) ^. A# C' f  i! @
; s2 Y; C, D. r$ K
配置单片机,先配时钟,最大性能的配置,系统时钟为72MHz,5 [' X& y. i: r$ b& o( r

( r! o$ s- l% B" L9 M
424c012357684fc08043ce163b823437.png
* T) E; s7 A  G, @1 _
$ p! K* q- U/ a0 d+ d0 ]
配置GPIO等外设,可以在左边的列表配置,也可以在图形上单击选择配置,& E) x8 n5 z4 b2 Z! {2 v& o5 e0 r" N

& r& T2 x9 b! g6 r
b5032e364c444a7ba92bef6a33006eb9.png
" n/ l5 L" o2 N3 z0 ]

4 C3 M" \; Q& h; yGPIO配置,可以设置User Label,
3 A9 O. V0 K) h0 j) F8 P1 X1 F4 S
eb43560c452041399dc91a68dcc80457.png
) d6 s' Y! t6 v3 ]4 L
% b' d  M9 ~+ N" |
使用奇偶校验时必须把数据位配置UART_WORDLENGTH_9B。使用串口printf时,打印浮点数需要设置,; d( O; s7 O; `9 M' X9 M
" Z/ }9 G1 y5 o! S) X
c27f9cd72047404a958d4b289fee1df8.png
8 Q  `% k" _" i' s
. E4 I5 Q: y7 f
CAN配置,参考文章CAN总线波特率的设定——以STM32F103为例,STM32单片机中CAN的波特率主要由4个参数共同决定。他们分别是重新同步跳跃时间单元(tsjw)、时间段1的时间单元(tbs1)、时间段2的时间单元(tbs2)、波特率分频器(brp)。对应到STM32单片机的库函数中,分别对应的是CAN_SJW、CAN_BS1(即tbs1+1)、CAN_BS2(即tbs2+1)、CAN_Prescaler等4个参数。库函数中只需完成这4个参数的设定即可。比如设置CAN_SJW=1tq,CAN_BS1=6tq,CAN_BS2=1tq,CANPrescaler=9,则波特率=36M/[(1+6+1)*9]=500Kbps。采样率=(1+6)/(1+6+1)=87.5%。要注意CAN_SJW没有参与任何公式的计算,波特率公式的那个位置是SS段,故而为1。* V* F5 H# b7 f" x; _
/ F! w& ]1 {  i! i+ v- T
1ee50a4c234648e4b461e701272335f5.png
1 `/ u2 s( }8 J3 X
3 Z$ A& p/ M( e9 Z% Z
USB配置,使用默认设置,在Project Manager中把堆栈改大点,防止程序跑飞,
6 }) G) b5 T( d% ~
. I2 t: x: m, D; d
98167d57a6c649d89df99cc4a37fde4b.png
/ _8 v# P7 A- F3 O  F* m, M# ?
1 c$ k2 u8 U# b- f' P
外部中断配置,& e5 |: E8 I: y. H1 I( u

" f& O) h1 V. Q% Y' V* k; E
f5c176cae6754653adbf22b8a0b8f7e5.png ) ^* R1 ~/ H8 I

8 u1 ?$ b) m* X% g3 [点击Project > Generate Code可生成代码,查看工程属性,可以看到,自动配置好了包含路径," k8 t1 ~. n1 e1 C7 }, X5 e

7 N% s! y1 }$ W5 R
bbafeebad68a4f9c8a0506a30b597b10.png / P2 k9 O7 X& w2 b8 d  g

/ o1 O: I; ]) |/ {0 M6 M" D4 A6 Q
) n. c7 I& b' l3 m. e1 ?( d! X9 q
配置7 U5 v; E$ `0 g) \! Z4 V
TAB

0 n% d7 u8 s( N6 z# w9 c. [配置自动缩进为2,使用空格代替TAB,点击Edit,创建自己的配置,
" g3 [' i! l: Q; t+ m7 k
- e- F6 f  j7 R0 a- I' i; ~4 _
60013d5368694db9bb06e0e953986505.png
5 E5 n) ^0 T. d+ o7 Z# _; c* `
# D8 m( W7 Q# U0 r2 S1 a5 D
- m* j; v2 P) J& O$ V8 l
问题
9 N" }5 V% d0 Z" ?, |. a源代码无法编译
- d4 _5 r& [. B7 G
除了要设置Includes还要设置Source Location,
" @' H8 {% E' [' j* P5 Q: g1 {* ~+ q7 {9 N) |. d1 e
a496ecd4b51d485db7fa6f01966f1c54.png 3 Z& |7 [' R6 }9 y
' ?9 @6 o7 J8 W4 B1 z
导入离线包, u2 v! M* `4 l$ I' I7 C8 c
在导入stm32f4的离线包时,官网上只有en.STM32Cube_FW_F4_V1.24.0外加一个补丁包en.patch_cubefw_f4.zip,
( k/ y: U1 \$ n7 L! G7 R: H

- \! I: a9 A( ?% ?/ U- l4 S1 `# p 20191007214001502.png
  A6 g/ W) a6 ]7 _  C. y& ^
* w1 |4 r1 Y: H6 e% q
而这个补丁包是没法导入的,报错,尝试手动打补丁,stm32的包文件都安装在下面的路径C:\Users\***\STM32Cube\Repository\STM32Cube_FW_F4_V1.24.0,手动把补丁文件解压覆盖试一下,重启一下软件看一下,成功了。
  z; i+ ]. U3 a5 U' C8 b————————————————
! f0 W3 a5 f. p% j版权声明:三遍猪# F- o9 _3 @+ z* l, Q* V, u/ ~

) C; [5 ]% Q9 s9 B0 G9 z9 }7 p  Q: K% t- n
收藏 评论0 发布时间:2022-12-23 17:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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