初学32,分享一些经验,希望对你有帮助
学习32一段时间了,之中遇到了不少问题,就简短写一篇总结一下目前我的经验(虽然同样的文章已经很多了)。欢迎评论留言讨论一起学习。这算是我的第一篇博客文,从开始打第一个字到现在快一年了。希望未来可以把自己的所学记录下来,养成一个习惯。
1、你需要准备什么
首先,如果你习得钞能力,就直接购入套装开发板,下载对应资源,一般会有详细教程,可以省去很多麻烦,并跳过准备环节。若果和我一样身为凡人或者想寻求折腾的快乐那就一点点准备吧。
软件
按照顺序下载:
- IDE:编译、调试刚需,推荐Keil5 MDK-ARM
- Java编译环境,下载地址:https://www.java.com/zh_CN/
- 外设配置软件:推荐官方的STM32CubeMX,下载地址:https://www.st.com/content/st_com/zh/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html#get-software
- 关于IDE:就是你写代码的软件,为了解决Keil写代码没联想没高亮等问题我推荐使用VSCode,应该没有人会拒绝VSCode的界面、便捷、轻量。在Keil中可以使用相关插件完成对32的开发调试。
- 串口驱动程序:看你使用的串口芯片选择对应的驱动,例如我用的是CH340,就对应安装CH340的驱动。常见芯片win10会自动安装驱动。
- 安装调试芯片驱动和调试程序:例如我使用的ST-Link需要安装对应的调试程序ST-Link Utility。这类程序在购买调试器时一般店家会提供。
硬件
1、选择一款32最小开发板,常见的如STM32F103C8T6最小开发板。F103C8有64KFlash,20KRam。能够满足大部分的例程学习。
2、调试器:
选择ST-Link和J-Link。其中ST-Link是ST官方的调试器,J-link是第三方推出的调试器。针对AMR M架构的嵌入式微处理器,J-Link可以支持更多其他厂商退出的芯片。如果只是学习ST的32系列的话,两个都差不多,我个人感觉没啥区别,都挺好用。注意在万能淘宝低价购入的这两款调试器大多是盗版,容易烧,得爱护点用。
3、在开发板的选型上,推荐从STM32F407入手。这款芯片在网上的资料足够多,可以从正点原子的教程入手,而且性能相比103系列更加强大,外设更加丰富。
芯片选型手册截图
F103与F407的主要差别
前者主频为72MHz,后者主频为168MHz。F407升级了各个外设的数量,提升了整个芯片的可用性。此外最大的不同应该是F407作为M4内核增加了FPU计算单元。提升了浮点数的计算能力,浮点数的计算能力对于部分场景会有较大的提升。例如在对电机进行PID闭环控制的时候,快速的浮点计算能力可以提高系统的反应程度,减少因为硬件带来的控制模糊。在四旋翼飞控和两轮平衡车的应用上可以使用到这个技术。
2、开始倒腾
KEIL
在安装好Keil之后你需要安装对应的器件支持包。一般来说现在的Keil5在首次安装激活使用时会弹出器件选型支持包。可以在这个地方获得对应芯片的支持。此外,使用Pack包进行本地安装也是使用较多的方法。
CUBE
STM32CubeIDE和CubeMX是ST公司发布的图形化配置软件。CubeIDE包含了CubeMX的功能。使用这个程序可以减去大量时间配置各个外设,相关的外设配置由软件自动生成。安装这个软件需要JAVA的环境支持。
VScode
作为微软推出的多功能编辑器,这个软件在广大开发者的推动下目前已经拥有了极其丰富的插件支持。推荐安装的插件有PlatformIO IDE、 Embedded IDE。这些都是Keil平台上的插件,对32有一定的支持。PlatformIO IDE的功能更为强大,有时间可以进一步探索。
前路慢慢兮,吾将上下求索
如果你是才开始学习单片机的话,并且想要坚持在嵌入式领域走下去。那么恭喜你,一道新世界的大门即将为你打开。
内容未完,请待更新。一同学习进步,如有错误还望指出留言。