STM32duino——依托Arduino框架玩转STM32(一): 开发环境的配置

这篇文章主要讨论STM32duino环境的配置,并以STM32F103C8T6为例烧写Blink Demo.

写在前面:为什么我们需要STM32duino?

理由一:同样的价格,更高的性能

价格对比:

STM32duino——依托Arduino框架玩转STM32(一): 开发环境的配置_第1张图片

STM32duino——依托Arduino框架玩转STM32(一): 开发环境的配置_第2张图片

性能简单对比:

         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(如图)

STM32duino——依托Arduino框架玩转STM32(一): 开发环境的配置_第3张图片

注意:请确认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

如图:

STM32duino——依托Arduino框架玩转STM32(一): 开发环境的配置_第4张图片

选择‘好’,保存设置。退出该界面

打开工具->开发板->开发板管理器

STM32duino——依托Arduino框架玩转STM32(一): 开发环境的配置_第5张图片

如上图所示。点击后会需要一段时间从网络上加载开发板信息,请耐心等待。

加载完成后,选择‘贡献’项。安装图中标记为‘2’的包。

STM32duino——依托Arduino框架玩转STM32(一): 开发环境的配置_第6张图片

下载与安装将花费一段(大约十几分钟)时间。注意:国内下载是很慢的。请‘科学上网’后再下载。否则可能要花超过一个小时的时间。

安装完毕后,选择图示的开发板。除非你明白每个选项的含义,否则请确保你的配置与下图黑线标出的部分完全一致。否则可能无法运行demo。

STM32duino——依托Arduino框架玩转STM32(一): 开发环境的配置_第7张图片

注意:开发板是黑色电路板的朋友,请将图中的‘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

你可能感兴趣的:(STM32duino)