写在前面的话
不知不觉我也已经鼓捣这个CUBEMX快两个星期了,这期间在网上搜了很多很多教程,也受到很多大佬的指点,终于调通了我这个硬件I2C+USB模拟串口收发传感器数据的小东西。我说句实话,这种体量的小东西确实用不到CUBEMX,我在网上见到的99%的例程全都是用标准库跑出来的,不过呢,既然我们老板有要求,那就要用起来,于是我也从零开始一点一点啃。我也是个新手,如果有不对的地方,欢迎各位大佬指出我的错误哈!希望各位伙伴都能学到点什么!
非常好的入门教程推荐
由于网上关于安装CUBEMX、如何使用CUBEMX生成Keil工程、基础的HAL库函数使用方法等等已经有相当多的文字和视频教程,我就不再献丑了。这边我就直接推荐两个教程给大家:
1.B站小蜜蜂老师的干货铺:CUBEMX教程
2.csdn大佬Z小旋的CUBEMX教程
以上两个教程都有涵盖CUBEMX的安装、使用、如何配置时钟树、如何生成工程、基础的HAL库函数用法等等…看完这个教程你的CUBEMX就学会一半了。
我的设备
STM32f103c8最小板
ST-LINK
串口调试助手XCOM
Keil-ARM v5
在CUBEMX上的工作
选择自己单片机的型号
配置RCC,因为USB设备是一定要用到RCC中的HSE的
注意:需要使用stlink下载一定要点选sys中的serial wire debug,否则下载会有点麻烦,具体参照我的一篇博客:为什么不按住复位没法下载?
要先点选过USB之后才能点选USB-DEVICE,否则USB-DEVICE那边是灰色的
选择模拟串口
在Clock Configuration这里可能有个粉色的小叉叉,不要紧,点进来之后他会自动弹出一个对话框,问你是否要自动调整时钟树的设定,点yes就可以了。如果没有弹出对话框,就点击 Resolve Clock Issue就行了。在这幅时钟树里,所有错误的时钟都会有粉色高亮背景,如果想要手动调整的话也可以。
另外需要注意的是,USB的输入时钟必须是48Hz,这是由USB传输协议的一些物理和逻辑条件决定的。
生成Keil工程。注意:生成的uv5 project文件在MDK-ARM文件夹下