最早接触 STM32(http://www.stmcu.com.cn/aboutstmcu)也是从 M3 的 STM32F103 开始的,工作上有机会也有必要去使用各家的 MCU 芯片,因此过去并没有特别的去关注 STM32 ,坦白说也没有发现 STM32 有比别人家芯片特别强大的地方,唯一有的印象就是 STM32 用的人很多,除了官方的开发板之外 TB 上也有很多开发板可供选择,学习资源特别的丰富,并且 STM32 芯片供货稳定好买,即使是小量也都可以方便的采购。 手上有几片从社区申请到的 Nucleo 开发板,也在 TB 上买过几种不同的开发板,买的原因很简单就是便宜而已,这些板子我大多是做些基础的实验,点点灯或是点个液晶屏做些简单的控制,不过 2016 年一个网上的视频吸引了我,一位外国人用了一片 STM32F103 最小系统板来玩 Arduino 编程,而这片子竟然就是在 TB 上10多元就可以买的到的最小系统板,就是这个原因让我有了想深入了解与学习 STM32 的兴趣。 为了 STM32F103 在 Arduino IDE 下的运行我查询了网上的一些帖子,并且自己验证程序是确定可行之后在社区发了这几篇帖子: Arduino STM32 编程体验 [Arduino STM32] 01:管脚编号 PIN_MAP [Arduino STM32] 02:LCD5110 驱动 [Arduino STM32] 03:OLED 驱动 原本的想法是 Arduino AVR 目前已经拥有丰富的应用资源,假如这些资源能够在更为强大的 Arduino STM32 上运行,那这不正是一件很美好的事情吗?因此我就是希望将一些过去在 Arduino AVR 上跑过的程序在 Arduino STM32 上跑看看并将过程在社区发帖分享,不过到了后来碰到问题了,Arduino STM32 毕竟不是官方所维护的系统,并且不同的 MCU 也必然会有底层驱动上的差异性,因此并不是所有过去在 Arduino AVR 上可以运行的程序都可以直接无缝的在 Arduino STM32 上运行!这个部份目前还在找问题解决中。 上面谈的是兴趣,接下来要谈的是工作上的需求: 目前工作上需要一些具备 USB 功能的方案设计,而手上的 Nucleo-64 开发板上的目标芯片并没有拉出 USB 接头,因此我是准备使用 STM32F103 最小系统板来做为学习与调试的工具,网上是可以找到很多这方面的例程可供参考,不过这些大都是使用标准库的代码,而 ST 现在似乎是更鼓励使用 HAL 库,为了往后能够方便的移植到其他的 STM32 芯片,我还是决定选择使用 CubeMX 来实现我需要的功能,这又是学习一个新的软件的开始,从社区知道了 STM32官网的链接,我在官网上下载了下列的文档跟视频: 这些都是过去的一些培训课程文档跟视频,看了之后对于学习有很大的帮助,另外我也在 YouTube 上看到了一些不错的 CubeMX 教程视频,我下载后转传上了百度云,并且也在社区发帖分享: STM32F0 CubeMX 教程视频分享 STM32官网我认为目前就已经做的很好了,在官网上可以方便的查询到我想要的文档跟视频,官网上也都实时公布了相关的活动日程,对于一些培训课程不管是在线的或是线下的,假如能够提供更多的视频那就更好了。 为什么我的标题是"走别人走过的路"呢?这是因为我现在所学习的都不算是什么新的技术,我只是踩着别人走过的脚步前进,因此 2017 年的期待就是要求自己能够加快学习脚步早日达到自己满意的技术水平,也期待日后能够申请到更高档的板子来评测一下。 对 LORA 和 STM32H7 又有什么期待呢?LORA 是射频通讯的明日之星,STM32H7 是目前最强的 M7 核,技术不停的在进步,感谢 ST 永不停止的技术创新让我们在这技术的洪流当中不被时代所淘汰。 |
感谢关注