(题图源于网络)
这篇文章主要讨论STM32duino环境的配置,并以STM32F103C8T6为例烧写Blink Demo.
写在前面:为什么我们需要STM32duino?
理由一:同样的价格,更高的性能
价格对比:
性能简单对比:
STM32F103C8T6 vs Arduino Nano
主频: 72MHz vs 8MHz
SRAM: 20K vs 2K
存储: 64K vs 32KFlash+1KEEPROM(ATmega328)
不难看出,STM32的这款芯片在各个方面都优于Arduino Nano,而它们的售价却相差无几。此外,STM32的这款芯片还具有更多的GPIO,更高精度的PWM输出(比Nano高64倍),更强大的外设(高精度ADC,若干硬件USART、I2C、SPI)等优点。
理由二:无缝接入Arduino开发环境
Arduino的强大之处就在于它拥有完善的生态链。先前的贡献者已经写出了你可能需要的一切库文件。不论是读取温湿度传感器的数值还是利用液晶屏显示文字,亦或者仅仅是驱动舵机,你都能在网络上找到适用于Arduino的库函数。
那么,让我们开始入坑STM32duino的第一步:开发环境的配置吧!
硬件准备:
STM32F103C8T6 蓝色开发板 x 1(如图)
注意:请确认PCB颜色是蓝色的。另有一种黑色PCB版本的,在的时候需要修改几处设置才能正常运行。(后文会注明如何修改)
串口调试模块 x 1
接线:
将串口模块的RX,TX引脚分别与板子的A9,A10引脚连接。并正确连接3.3V与GND的线路。
注意:如果接入串口模块后计算机无法识别它,请确认是否正确的安装了相关的驱动。
软件准备:
Arduino开发环境
操作步骤:
运行Arduino。选择文件->首选项,在附加开发板管理器中填入以下网址:
https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json
如图:
选择‘好’,保存设置。退出该界面
打开工具->开发板->开发板管理器
如上图所示。点击后会需要一段时间从网络上加载开发板信息,请耐心等待。
加载完成后,选择‘贡献’项。安装图中标记为‘2’的包。
下载与安装将花费一段(大约十几分钟)时间。注意:国内下载是很慢的。请‘科学上网’后再下载。否则可能要花超过一个小时的时间。
安装完毕后,选择图示的开发板。除非你明白每个选项的含义,否则请确保你的配置与下图黑线标出的部分完全一致。否则可能无法运行demo。
注意:开发板是黑色电路板的朋友,请将图中的‘Board part number’选项配置为‘’BlackPill F103C8"。
至此,我们就完成了开发环境的配置工作。
二、烧录Demo程序
程序代码如下:
void setup(){ pinMode(PC13,OUTPUT);}void loop(){digitalWrite(PC13,HIGH);delay(500);digitalWrite(PC13,LOW);delay(500);}
1.将开发板上的‘BOOT 0’跳线帽和1短路。
2.按下复位按钮
3.选择正确的串口。上传演示程序。
上传完毕后,就会看到板载LED在闪烁了。不要忘记将‘BOOT0’的跳线帽放回原来的位置0。
以上就是全部内容了。下一节,我们会介绍STM32duino和标准Arduino的一些不同之处,并编写几个小程序。
原创内容,转载请联系作者。
参考资料:
https://github.com/stm32duino/wiki/wiki
当然沙雕要求我绑定微信号,知乎和csdn就没这个沙雕要求,所以以后所有写在上的文章都要加一句这个来表达不满。