STMCU小助手
发布时间:2023-2-9 18:10
|
准备用STM32的开发板写一个直流无刷电机BLDC的驱动程序,对Arduino IDE的编程模式比较熟悉,通过相应的插件,Arduino IDE同样可以支持STM32。9 Q1 F1 P7 @& G6 S 另外因为手头没有STM32的下载器,需要通过串口烧录程序。准备先用一个Samples中的点亮LED的示例来跑通这个STM32的开发流程,没想到竟然折腾了差不多一天的时间,不懈努力,不轻言放弃,最后才在STM32开发板上,通过Arduino IDE,串口烧录程序,成功点亮了IDE。看到IDE一闪一闪,体验了成功的喜悦。" _$ e: j! _2 U) T/ e 7 ^# {( C' f) p3 @ 记录一下折腾的过程。 手头的STM32开发板的型号为STM32F401CxUx。本来准备买来做USB声卡的。$ a0 i% z2 y# [. a2 A; D3 e ' `4 W1 I( o O6 [' q; r. |! U4 j$ @
' r( u1 h) K- o- J' k- ]' o
7 z# w5 `+ b' j' g# n$ b } 一、软件安装 1、在Adruino IDE中安装STM32开发板插件。 点击Adruino IDE File菜单,选择"preferences.."
! u0 T- l1 Z) Z- C2 [: S; } + I4 D, R- O( }) Y* Z3 Z 点开”Additional boards manager URLS" 添加STM32开发板的URL$ d) p( a6 v$ n; @8 z ; _5 F- }4 d: g' y% f 打开左下方的连接,打开网址,查找STM32的官方链接。拷贝后加入到列表中。 ! M3 b/ S/ o) I5 z G& E
( ~8 h( D, |6 l1 w6 i6 n7 i 打开Board Manager面板 m8 p5 e4 `# O! N8 V- r& ]! w' w8 s1 N! G + |" F8 Q" F' `
安装STM32插件9 A6 w6 ]' C! Z- c) s; B& Y% E
0 `% M( l- T$ n, v 安装好之后,tools菜单中会出现STM32芯片的选项 2、安装STM32CubeProgrammer 到ST的官网注册下载STM32CubeProgrammer,下载STM32CubeProgrammer后安装,并安装STM32的Bootloader串口驱动程序。 5 H' N9 x$ k+ G) [! z& b
: [! Z; Q5 G; p) ]8 P# m; c9 u 安装好之后,设备管理器会出现STM32 bootloader设备
二、串口连接STM32: E5 o3 m2 M; i6 R" x! Q" d 为了让电脑识别STM32的串口,需要设置STM32的BOOT0, BOOT1引脚,网上搜了一大遍,知道了设置BOOT0=1, BOOT1=0启动。但是把STM32板子前后翻了一个遍,也没找到这两个引脚在哪里。& r1 k# K1 l4 r% ^' d% j3 q* E " W ]1 h% c. q/ |3 j 最后问店家要了STM32板子的文档,耐心的看了一下文档。终于知道怎么设置BOOT0,BOOT1
" ^: K( I# o1 @7 e
+ A/ t2 q: K {6 ^' K( M% f
把板子上的拨码开关1和3用一根牙签拨到ON的位置。即可设置成"System memory"的启动模式。, y! h& l4 [3 \4 y 打开STM32CubeProgrammer,选择USB,COM端口选COM1.即可连接STM32成功。这时可以通过STM32CubeProgrammer下载烧录。
4 |# L! c9 F9 X! T* { 三、Arduino IDE连接STM32/ r% @4 b" x: c* b 首先要将STM32CubeProgrammer程序所在的目录添加到系统的PATH路径中,因为Arduino将调用命令行的STM32CubeProgrammer_CLI程序: ^+ ~: ^, a5 l4 p4 r g
选择STM32板子,COM1端口,将上传模式更改为DFU模式5 t0 s, Q* H0 Y9 x c
至此,所有的设置完成。 + m9 t5 E, Z( i% c/ X8 F/ H 三、烧录测试BLINK代码$ t4 P: U- A/ P/ _ 打开Arduino的闪灯Blink例子,编译上传,提示上传成功。/ f1 j( s, e4 O6 S! c
8 \0 @% w' h: x 可是,这个LED就是没有闪。# O3 c3 r9 m; g8 o. x2 U- v , }" o8 X1 Y5 {4 @8 O) ^ 用牙签把BOOT0,BOOT1恢复,拔掉USB重启。仍然不闪。反复实验,浪费了几根牙签后,依然无果。。。6 H# J4 l$ E, l' b& @ 最后即将放弃的时候,看到有篇文章说要更改一下LED的管脚,打开STM32的图一看,LED连接到PC13引脚。7 D1 X; E. Z( e/ w2 v
. t3 q4 U9 s6 g, `9 ]( A . p- Z2 S) z5 @. L& \ 把代码中的LED_BUILTIN全部改成PC13, 编译上传。0 P4 f" {, d1 c# G, @% L+ u 6 o2 [3 r+ G- X/ \# u2 Z Z 奇迹出现了。 小蓝灯终于闪了。 一天的功夫啊 作者:汤姆yuan ) s# Q. d9 @3 p+ g. ^0 h2 u + k1 u( b2 C) }% D- s |
STM32CubeCLT 1.22.0新版本发布
【下载问题解决】关于ST官网下载软件问题解决
【STM32H735G-DK测评】lvgl移植
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
《MCUBoot课程》学习笔记+从信任链原理到量产实践
STM32CubeIDE 2.2.0新版本发布
CubeMX生成CubeIDE工程代码乱码
STM32CubeIDE实时时钟(RTC)经验分享
实战经验 | ClassB功能安全认证代码与应用代码分区的实现要点
【STM32U3 评测】人体行为识别
微信公众号
手机版