美文网首页嵌入式
STM32duino——依托Arduino框架玩转STM32(一

STM32duino——依托Arduino框架玩转STM32(一

作者: 雨墨小轩 | 来源:发表于2019-07-12 19:09 被阅读3次

    (题图源于网络)

    这篇文章主要讨论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就没这个沙雕要求,所以以后所有写在简书上的文章都要加一句这个来表达不满。

    相关文章

      网友评论

        本文标题:STM32duino——依托Arduino框架玩转STM32(一

        本文链接:https://www.haomeiwen.com/subject/lhvncttx.html