因着小伙伴们搞项目要使用STM32——实际有一款单片机就能实现的项目,但是STM32确实有铺天盖地的主流气势——起手学一回,就一下子朝着主流的方向走过去。这是很重要的。在技术上没有达到一定的深厚积淀时,万万不必寻求旁门左道,因为一旦遇到困难,学习资料是极其难于寻找的,这时就使得困难被放大了。实在太难。
我是纯粹感兴趣试试。行就行,不行就试试MDK。结果还就行了。
STM32早期的时候,就有不少Arduino IDE和VS Code/PlatformIO的库和框架,但有官方支持的甚少。我自己也用不上,也就没关心。
现在的测试,也简单的很,同样也并没有计划系统搞一下的想法。测试环境:
Arduino IDE 1.8.19
Win10 22H2 64bit
STM32 Cube Programmer win64 2.6.0.0
本着能用就行、重装系统后简单布置就能用的原则,不折腾。当重装系统,只要复制了C:\Users\用户名\AppData\Local\Arduino15整个目录、再安装一下STM32 Cube Programmer win64 2.6.0.0就又能烧录了。省时省心省事儿。
新安装也并不困难,但耗时较长。只看下载速度,它比ESP32和树莓的PICO环境似乎都要快一些,也并不墙。
先是,Add this link in the "Additional Boards Managers URLs" field:
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
之后打开板卡管理器,搜索STM32,安装。注意别和STM8搞错了,STEM8是另外一回事儿。这儿就不提了。
然后按照提示各种安装。直到最终一切都提示正常结束,就结束安装了。烧录第一个示例程序之前,需要知道的事儿是:STM32本来是有很多种烧录方式,包括仿真器等等,但是Arduino IDE下的串口烧录已经足够使用了,就不整复杂的了。STM32F103C6T6的串口烧录PA9接烧写器RXD、PA10接烧写器TXD就行了。电源接3V3、GND,其实接5V也行,但没必要。打开blink把里面的LED_BUILTIN全部换成PC13,设置一下板卡选项,也就没什么了。
一些STC89时期的老烧录器,有的RXD和TXD故意丝印标记就是反着的,我手上的就是,估计是C51时期照顾初学小白,这时把它接在STM32上烧录程序会报串口设备错误,此时换接线序后再RESET一下就会正常烧录了;STM32还有一点特殊,是BOOT0和BOOT1的跳线,烧录完毕,是可以立即看到效果的,但是上电就能flash运行,就需要把这两个BOOT0和BOOT1都跳到0,即GND。
和这个板子相仿,还有一种Black Pill,F103C8T6,操作应该是一样的;由于Arduino IDE支持STM32的库很杂,网络搜索过去,有一些介绍的文章里提到的,其实已经过时绝迹了。
联系客服