|
STM32CubeIDE是意法半导体官方提供的STM32开发工具,其功能从芯片选型到生成代码再到编译调试为使用者提供一站式服务,废话不多说直接上工程 打开STM32CubeIDE,单击左上角的File按照上图路径创建工程或者点击File下方的倒三角快捷键直接创建工程
9 s3 s; W$ Z; p
. y' T3 I/ c4 Q; w 工程创建后STM32CubeIDE会启动STM32CubeMx,进入芯片选择界面,在过滤器里输入STM32F429IG,右侧下方会出现STM32F429IG两种封装的芯片,选择STM32F429IGTx,点击NEXT, ! o* M- @3 V! b' f4 f
( y% T/ R5 v3 }. ^4 u8 b. ]( L- \. @" L 芯片选择完成后,会弹出下面窗口,在Project Name后面的编辑框内填入工程名字,其它选项默认,点击Finish,4 t) j& ~4 O9 o) D) A5 m; f- k
+ ]0 D- Y9 O1 Q 在上述步骤完成后,STM32CubeIDE会启动STM32CubeMx进入代码生成界面,其操作与STM32CubeMx生成代码一样,先配置外部晶振 $ L b& {) ~+ J1 ~ d2 a" V8 c
在Connectivity选择USBDevice功能,使能中断,其他选项默认配置9 a+ |1 ]& R" r1 t! G. ^ ! F3 D+ g# c4 R, x2 q& V q
在Middleware中选择USB_Device选项,将USB功能配置为虚拟串口,其他默认不变! i! J" Q2 P J5 ^, \- E \ Z4 x( c- k
USB配置完后需要重新配置RCC,
" @1 u4 {! `4 F( {& r! `0 P f! x8 J RCC配置完后需要将芯片内部的堆栈改大一些,不然的话会造成程序跑飞,
/ v2 a# J7 L* O' F2 v1 Z1 i8 D8 Y! ~ 然后工程生成头文件和源文件- X& l7 F, E; a/ W; T1 D ' i ~+ A m/ K6 f9 U) v, f; O
. R* K$ f' Z6 w& p 现在可以生成代码了,点击左上角的齿轮,生成工程的初始代码 * V; Y8 U" R. r' F3 J
进入工程后打开USB_Device,按照下图所示路径打开usbd_cdc_if.c文件,在CDC_Receive_FS函数的内部添加 CDC_Transmit_FS( Buf, *Len);其中*Len可以替换成一个全局变量,以方便去轮询虚拟串口是否接收到数据,9 b. u! z1 k! t% x8 X: a ( P. ^9 e6 s/ N Q3 F0 z, o( t
以上步骤完成后其实USB已经能和PC机正常通讯了,但是在插拔usb可能会造成USB无法正常工作,还需要做一下修改,按照下图路径打开usbd_cdc.c文件,需要将函数USBD_CDC_Init中的pdev->pClassData的指针移动至静态空间,并将下方USBD_CDC_DeInit函数中的USBD_free注释掉,# M0 G9 k' g' T8 H) j
代码方面修改完毕,现在进行编译和仿真,IDE项目栏左上方有一个锤子图标,该图标是编译的快捷方式,挨着齿轮的那个小虫图标是Debug, ' ^, u( C: b7 r- a2 ^8 i
第一次运行需要配置仿真器参数; B1 x' Z' s2 s, `
配置完仿真器后,将程序烧写到芯片,就可以测试USB虚拟串口了
! G: w) D9 A) O# ^) @ 找到USB虚拟出来的串口,点击打开串口,串口的配置不用设置,与芯片进行通讯连接,通过串口助手给芯片发数据,会得到回复
+ }1 [7 y; Z7 S" _ & Y4 ?* V: ~* Y; L2 I4 j * Y5 M# d: n& {" C5 E + A4 d# f# Z" A7 c# m |
【STM32H5 评测】基础硬件加密与随机数性能 - STM32H5E5实测硬件AES加解密、HASH运算、TRNG真随机数输出速率与稳定性
【STM32H5 评测】NUCLEO-H5E5ZJ 使用 TrustZone 安全分区系统实践测试
【STM32H5 评测】CPU核心性能 - STM32H5E5跑 RTOS,观察任务切换速度、中断响应快慢
【STM32H5 评测】内存读写性能 - STM32H5E5实测Flash,SRAM读写速度,用DMA搬运大块数据
【NUCLEO-C562RE】OLED 显示
保姆级教程:CMake 工程导入 STM32CubeIDE 步骤
STM32CubeCLT 1.22.0新版本发布
【下载问题解决】关于ST官网下载软件问题解决
【STM32H735G-DK测评】lvgl移植
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
微信公众号
手机版
这么多好处,但为啥一些教MCU的课程不讲呢?
因為不用在做應用的時候,還要分心這一塊。
其實用HID配合Bluk傳輸其實會更方便。