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

这篇文章主要讨论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

  • 13
    点赞
  • 98
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值