STM32CubeMX的新建工程其实很简单,如果需要有复杂的配置,整个工程就有很多细节的地方需要注意。( K) |7 k. n. R) A% \$ F; c" C ; b+ }8 B7 S9 u$ o7 Y: R 一、打开STM32CubeMX软件,点击“新建工程”:5 b# X1 j, c* e! p, r/ _# Z , w2 C7 r+ o/ R8 K4 |$ M" w$ a 二、选择芯片型号,点选后,双击选中对应型号(点一次是查看其信息,双击直接选择进入): 双击后( h- }. v) s7 P# t5 R1 F9 C* ^ & o& x; f, C; Z5 h( T& P7 Z 三、设置软件工程,Project -> Settings弹出设置窗口,设置好参数,点击OK即可 9 i! R& q4 f2 w' S O9 W8 X 注意:默认是选择最新版本的库,在使用时要选择自己的库,如上图第7步。 . k* Z8 c# ]% v5 j 接着我们进行自由设置: & b6 n6 X0 E. Q6 E/ Y4 s / ~& I, b5 W6 l7 V& ^0 X% ]+ `& f 四、工程配置 接下的配置才是与我们最终运行代码密切相关的,我们这里以简单的配置IO(PE5引脚)驱动LED为例来讲述。 A、放大芯片图标,找到PE5(可以通过Find查找) 4 b7 \* M' R2 y* O) C( A a3 X& v B、选中PE5-> 左键 -> 弹出列表 -> 选中“GPIO_Output” 5 X4 j8 T6 h/ m3 ^' u+ j 7 y4 `, z7 o( T5 }. n* y- n% ^ C、配置“晶振”引脚(RCC配置) 如果使用“外部晶振”就还需要继续配置(我们配置HSE为例),包含三个配置: ' R& a3 @7 N: p! ]! | HSE外部高速时钟、LSE外部低速时钟、MCO时钟输出。 ( t& n/ J+ T3 i' y' Z: U 五、“综合”配置; S* W2 X# Z3 p: G 由于只配置了PE5引脚,其他功能(如DMA、USB等)没有配置,如果前面配置的有,这里配置的信息就比较多,所以叫“综合配置”。4 d2 X, K$ z z & j ? x) F) g. Q' J. { 点击GPIO,弹出配置对话框,按步骤依次填写完信息,点击“OK”就好了:( U& d) \0 V$ B/ Z% O/ m $ H( v9 d% `# I# b 四、Clock配置! l0 \8 M% N- t, d 这里的配置是比较人性化的配置,结合时钟树,一看就明白(也可以根据参考手册时钟树配置),配置方法一样 4 B2 d" q0 @: _; Y3 z 2 v* f! Q; u# } 六、生成代码 在完成上面所有配置之后,最后的工作就是点击“生成代码”按钮:; @% ? ~7 i) P: n7 A 如果前面配置的生成软件工程,就会拷贝HAL库文件在你的工程。随后通过相应IED环境进行程序设计及编译下载即可" t* H3 \5 z9 D( l D & O ?, G) C @: X 注意:STM32CubeMX 生成的main.c 文件中,有很多地方有“/* USER CODE BEGIN X */”和“/* USER CODE END X */”. g6 Y+ P: j: S& Q( P 格式的注释,我们在这些注释的 BEGIN 和 END 之间编写代码,那么重新生成工程之后,自己写的代码才不会被覆盖。 |
基于STM32生成外部Flash Loader的方法经验分享
【经验分享】STM32驱动RC522读卡完整资料分享,包含原理图、PCB、驱动工程文件
【经验分享】HRTIMER 产生多相相移信号
基于STM32 DFSDM应用技术经验分享
基于STM32 快速入门 BlueNRG SDK 固件开发
基于STM32的BlueNRG 系列协处理器简介经验分享
获取编译时间作为版本号
【经验分享】STM32CubeIDE使用说明 —— 实时调试
宽禁带技术如何带来颠覆性变革
基于STM32的数据意外变化导致条件判断流程异常