|
STM32CubeIDE是意法半导体官方提供的STM32开发工具,其功能从芯片选型到生成代码再到编译调试为使用者提供一站式服务,废话不多说直接上工程 打开STM32CubeIDE,单击左上角的File按照上图路径创建工程或者点击File下方的倒三角快捷键直接创建工程
5 P8 ^+ w" ^& e6 W; c+ w( M 6 C& W# o, b& K% \/ } 工程创建后STM32CubeIDE会启动STM32CubeMx,进入芯片选择界面,在过滤器里输入STM32F429IG,右侧下方会出现STM32F429IG两种封装的芯片,选择STM32F429IGTx,点击NEXT,: C" G6 [, D) z9 G ' E. D9 b, M# h' g( ?( M, l7 S
( C% |8 n) V* b/ [ 芯片选择完成后,会弹出下面窗口,在Project Name后面的编辑框内填入工程名字,其它选项默认,点击Finish,: l3 w$ u3 w7 I% }; R : Y- P, e" i# E4 k2 R' P) D0 b
/ e! w; B( }6 z% F 在上述步骤完成后,STM32CubeIDE会启动STM32CubeMx进入代码生成界面,其操作与STM32CubeMx生成代码一样,先配置外部晶振8 | u' [9 g0 b
在Connectivity选择USBDevice功能,使能中断,其他选项默认配置! s5 D& s8 P3 l+ X; K; g " ? c. C: h' W* w; ^$ \
& M! t A" W2 W7 Y 在Middleware中选择USB_Device选项,将USB功能配置为虚拟串口,其他默认不变
USB配置完后需要重新配置RCC,. A0 r9 [2 E5 _9 ^* v
- A' B% Z: d! Q( d, K+ [ RCC配置完后需要将芯片内部的堆栈改大一些,不然的话会造成程序跑飞, , y0 ]/ ?$ K \9 t# b7 B
然后工程生成头文件和源文件# k1 M+ g4 c% _7 K9 F& H @6 }; M* G
现在可以生成代码了,点击左上角的齿轮,生成工程的初始代码9 X V; u. t# y! Y9 b! G0 x% Y' l" l
进入工程后打开USB_Device,按照下图所示路径打开usbd_cdc_if.c文件,在CDC_Receive_FS函数的内部添加 CDC_Transmit_FS( Buf, *Len);其中*Len可以替换成一个全局变量,以方便去轮询虚拟串口是否接收到数据,
以上步骤完成后其实USB已经能和PC机正常通讯了,但是在插拔usb可能会造成USB无法正常工作,还需要做一下修改,按照下图路径打开usbd_cdc.c文件,需要将函数USBD_CDC_Init中的pdev->pClassData的指针移动至静态空间,并将下方USBD_CDC_DeInit函数中的USBD_free注释掉, ' S T! q9 h$ S6 m
代码方面修改完毕,现在进行编译和仿真,IDE项目栏左上方有一个锤子图标,该图标是编译的快捷方式,挨着齿轮的那个小虫图标是Debug,+ M. d! A3 l* L0 K5 v8 p; W
# S* i1 @6 S( |9 V9 \+ C/ b 第一次运行需要配置仿真器参数
配置完仿真器后,将程序烧写到芯片,就可以测试USB虚拟串口了
- ~! P3 l2 l3 L! V5 k 找到USB虚拟出来的串口,点击打开串口,串口的配置不用设置,与芯片进行通讯连接,通过串口助手给芯片发数据,会得到回复. T) @; v2 h) R
/ _6 w2 s- Z3 p, I$ ?6 W4 m . z6 W& |" ^4 e- v: m , ?0 ^+ F1 w1 ~$ k* F |
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 评测】人体行为识别
微信公众号
手机版
这么多好处,但为啥一些教MCU的课程不讲呢?
因為不用在做應用的時候,還要分心這一塊。
其實用HID配合Bluk傳輸其實會更方便。