网友FASTSHIFT的大作:
众所周知,STM32系列作为当前热门的微控制器,具有速度快、高性价比、外设丰富、资料众多等优点。
目前STM32主流的开发方式有寄存器开发,标准库开发,还有ST主推的HAL库开发,开发环境有IAR、Keil、Eclipse等,优缺点就不多说了,我相信适合自己的就是最好的。
但是我相信刚刚接触STM32的初学者,面对各种抽象复杂的寄存器、陌生的函数名,几乎是一脸懵逼的状态。这时一个外国团队为STM32在Arduino IDE上提供了很好的支持,这极大地简化了STM32的学习成本,这就是大家所熟知的stm32duino (链接:https://github.com/stm32duino)。
但是这个stm32duino项目,经过我实验,除了103C8T6还可以,因为作者就是以它为例 其他处理器就是不大行,试了103zet6
407zgt6
在接触了stm32duino之后,我开始好奇为什么架构完全不同的MCU可以使用几乎完全相同的代码,设想着能不能在Keil环境也能实现一样的效果(当然,主要的原因还是实在没法忍受Arduino IDE蜗牛般的编译速度,所以寻找一种取代方法 )。 确实编译太慢了!!
经过一年多的优化,50+次的版本迭代,终于 几乎在Keil上复刻了Arduino的编程体验,既有Arduino简单易用的API(pinMode、Serial、String...),兼容强大的第三方库(Adafruit_xxx、SD文件系统...),又能使用Keil的在线调试,设置程序断点,查看实时内存等功能,岂不美滋滋 。
目前支持的MCU有:STM32F0xx、STM32F10x、STM32F3xx、STM32F4xx系列,未来可能还会支持其他ARM核的单片机,说明都放在下面的链接。 项目地址:https://github.com/FASTSHIFT/Arduino-For-Keil
今天我实验了一把,有个小地方花了半天时间,首先要安装指定版本的库,第二就是魔术棒里面的设置,有个 use microlib默认是选上的 不能选,我在这来回调,把这个勾去掉,串口功能就出来了,唉😔!