STM32 引脚详情

STM32 Blue Pill 板的完整引脚如下所示。正如你所看到的,G 表示接地引脚,3.3V 输出稳压 3.3V,5V 引脚可用于为电路板供电或通过微型 USB 获得+5V供电。板载 LED 连接到微控制器的 PC13引脚。

与 Arduino 板不同的是,STM32 通过 boot 1 和 boot 0 切换不同模式。

一般情况下,Boot 1 的位置通常保持不变,把boot 0 跳线设置为 3.3V 用于串口下载,或者设置为接地用于上电或复位后进入正常工作。

如何编程 STM32F103C8T6

STM32 只是 STMicroelectronics 系列的另一个微控制器。因此,现有的 ARM 芯片编程方法也可以用于 STM32 板。

Keil ARM MDK 是一种著名且常用的 IDE,除此之外我们还可以使用 IAR workbench、Atollic TrueStudio、MicroC Pro ARM、Crossworks ARM、Ride 7、PlatformIO+STM32 等。

但是,使该板广受欢迎的原因之一在于它能够使用 Arduino IDE 进行编程。许多arduino爱好者通过这种方式,可以立即开始使用 STM32 构建项目,因为他们熟悉 Arduino IDE 及其易于使用的编程语言和现成的库。所以这篇文章中,我们使用Arduino IDE 开始 STM32。

FTDI连接图

使用 Arduino IDE 对 STM32 Blue Pill 板进行编程,我们需要使用串行板FTDI。该板连接到 STM32 的 Rx 和 Tx 引脚,如下所示。

FTDI板的Vcc管脚连接到板子供电的STM32 5V管脚。地连接到STM32的地。FTDI板的Rx和Tx引脚分别连接到STM32的A9和A10引脚。其中 A9 是 STM32 MCU 的 Tx 引脚,A10 是 Rx 引脚。

为 STM32准备 Arduino IDE

按照以下步骤安装并准备与 STM 32 开发板一起使用的 Arduino IDE。

第 1 步:安装Arduino IDE。
第 2 步:安装 Arduino IDE 后,打开并下载 STM32 开发板所需的包。这可以通过选择“文件 -> 首选项”来完成。

第 3 步:单击“首选项”将打开下面显示的对话框。在 “附加开发板管理器网址”文本框中粘贴以下链接,点击 “好”。

http://dan.drown.org/stm32duino/package_STM32duino_index.json

第 4 步:转到 工具 -> 开发板…->开发板管理器。这将打开“开发板管理器”对话框,搜索“STM32F1”并安装出现的包。


第5 步: - 安装完成。转到“工具”并向下滚动找到通用 STM32F103C 系列,选中如下图:

第 6 步: 现在,将 FTDI 板连接到计算机,并在设备管理器检查 FTDI 板连接到哪个 COM 口。然后,在“工具”->“端口”中选择相同的端口号:

第 7 步: 完成所有设置后,检查 Arduino IDE 的右下角,显示了已经配置的信息。我的 FTDI 板连接到 COM3,但你的可能不同,但是芯片信息确保为 64kFlah 类型,CPU 速度为 72MHz,上传方式为 Serial。

到这里 Arduino IDE 已准备好对 STM 32 Blue Pill 开发板进行编程了。

上传示例代码到STM32f103c8t6
让我们将板载LED闪烁示例程序从 Arduino IDE 上传到 STM32 Blue Pill 板。示例程序可以在 文件—>示例 中找到。

在打开的示例代码中,我们必须做一点小小的修改。默认情况下,该程序是为PB1编写,但在我们的开发板上,板载LED连接到PC13,因此将所有PB1更换为PC13。最后会给出修改后的完整示例程序。

loop函数内部的代码如下所示,我们可以注意到 PC13 引脚保持高电平(开启)1000 毫秒,然后再转低(关闭)1000 毫秒,高低一直循环。因此,LED 以 1000 毫秒的间隔闪烁。

digitalWrite(PC13, HIGH); // turn the LED on (HIGH is the voltage level)delay(1000); // wait for a seconddigitalWrite(PC13, LOW); // turn the LED off by making the voltage LOWdelay(1000); // wait for a second

如前所述,在上传任何程序之前必须将 STM32 板设置为串口上传模式,为此将boot 0 跳线置于低电平。如下所示:

确保 boot 0 短接1的位置,然后按下复位按钮,绿色 LED 熄灭,这表明板子已准备好上传。点击 Arduino IDE 上的上传按钮,您的程序应该被编译和上传。

如果程序成功上传,您应该会看到绿色 LED 以 1 秒的间隔闪烁。您还可以修改程序,增加或减少延迟来改变闪烁速度。

上传程序后,boot 0 应该短接回0位置,这样下次板子上电时,上传的程序就开始自动执行了。

本文到此结束,希望能对你开始使用Arduino IDE 编程STM32有一点帮助。

使用 Arduino IDE 对 STM32进行程序开发,安装开发板相关推荐

  1. Arduino IDE快速搭建STM32F1和F4系列开发板环境和程序烧录

    Arduino IDE快速搭建STM32F1和F4开发环境和程序烧录 搭建步骤 第一步:下载支持固件. github原地址:https://github.com/rogerclarkmelbourne ...

  2. 安装 Arduino IDE 中STM32 软件包,ESP8266软件包

    简 介: 搜集了更多的基于Arduino生态环境的安装和使用方法. 关键词: Arduino,STM32,ESP8266 §01 安装STM32在Arduino IDE软件包 1.参考文献1 参照推文 ...

  3. Arduino IDE 玩转STM32 - 搭环境、刷固件、烧程序

    Arduino IDE 玩转STM32 - 搭环境.刷固件.烧程序 背景:有arduino经验,无STM32经验:没使用过keil,只玩过arduino IDE. 手边有两款STM32F103C8T6 ...

  4. 在stm32上使用Arduino IDE(神舟I号为例)

    原址:https://blog.csdn.net/alanzjl/article/details/43232601 借鉴一下,以备后用 Arduino IDE是一种很方便的开发环境,通过把底层代码函数 ...

  5. Arduino IDE下的stm32环境搭建、OLED液晶显示(U8g2lib库)、NUCLEO-F411测试、STM32F103C8T6在Arduino下的液晶显示、

    最近在淘宝上看到NUCLEO-F411RE能兼容Arduino,于是入手一块玩玩.于是查找资料搭建化境和做相关实验.断断续续花了好几天,总结一下,供其他人少走弯路. 在Arduino里兼容stm32( ...

  6. 利用PROGISP实现ARDUINO IDE编写的程序的下载以及如何把AVR单片机做成ARDUINO板

    首先讲讲题目的由来吧.我做的东西原本是利用ARDUINO MEGA2560及各种模块搭建起来的,程序自然也是用ARDUINO IDE写的.但这种东拼西凑的产品自然不够好,更主要的是,之前ARDUINO ...

  7. Vscode开发STM32单片机程序

    STM32单片机非常强大,大多数教程都是使用 keil 编译器,keil 是收费的而 gcc 是开源免费的.这里介绍一些使用 gcc + vscode 开发单片机程序的经验.(这里不解释 gcc 是什 ...

  8. Arduino生成ATmega8的运行程序并下载

    简 介: 使用另外的ATmega8的Bootloader对ATmega8进行编程,仅仅利用Arduino IDE完成对于Scratch的编译,基于这个模式完成程序的开发. 关键词: Arduino,I ...

  9. 微信小程序基础之开发环境搭建

    初心-杨瑞超个人博客诚邀您加入qq群(IT-程序猿-技术交流群):757345416 概述 开发小程序的第一步,你需要拥有一个小程序帐号,通过这个帐号你就可以管理你的小程序.跟随这个教程,开始你的小程 ...

最新文章

  1. ISP【二】————camera ir图
  2. mysql服务器_windows mysql服务器
  3. ACM-ICPC 2019 山东省省赛 C Wandering Robot
  4. python 字符串%和format_Python必懂知识点,格式化字符串,到底用.format还是%
  5. 怎样在matlab q-q图上读出斜率,Q分解法潮流计算matlab小程序
  6. 教你在 Centos 7 中使用 DenyHosts防止ssh暴力破解(亲测)
  7. 【ACM】杭电1070:Milk
  8. android-listview 优化 viewHolder(节点缓存池)
  9. 牛客练习赛101 B-荒神在此
  10. Servlet、ServletConfig、ServletContext
  11. 数据透视表字段名无效,遇到这种情况怎么解决?
  12. wireshark使用Lua解析带有固定头和长度
  13. 手写汉字笔顺轨迹提取(已开源)
  14. C语言数据结构代码——有向图
  15. python画误差图_Python数据可视化:如何创建误差图
  16. 武侠世界。。。。。。。。。
  17. 我如何构建heimdall开源个人电子邮件监护人
  18. java springMVC demo 事例 注解模式 例子 完整事例
  19. Redhat 7 下Mysql8.0.19安装配置图文详解(配合使用 centos YUM源)
  20. react 前端 实现打印机打印功能

热门文章

  1. 文章付费阅读系统-发货100在线视频课程教育系统 v1.1
  2. php继电器信号,中间继电器是将 信号变成 信号的继电器,主要起中间转换作用,其输入为线圈的 和 ,输出信号是触点的断开和闭合。它可将输出信号同时传给几个控制元件或回路。...
  3. 概率论与数理统计(Probability Statistics I)
  4. 计算几何基础(持续更新)
  5. 微信如何群发消息?微信群发消息只需要4步!
  6. matlab画简单长方形,matlab在图像中画长方形(框)
  7. dos下编写java程序_在DOS命令行状态下,如果命令java Hello成功运行了程序,那么下面哪些叙述是正确的()...
  8. 搜索某个网段内所有在线IP的一串命令
  9. 王文彬:谈PaaS对互联网产业的影响 PaaS vs IaaS 你需要知道的!
  10. 2017年Android开源项目及依赖库