STM32 F103核心板 刷Arduino 固件

背景:简单玩过 Ardunio,C/C++算比较熟悉,会点python。最近公司需要实现些 简单功能,查资料 买了 STM32F103C8T6 的开发板。看了几天资料,用 keil 写了些简单程序。发现太麻烦了。而且我也不是专门搞这个的太浪费时间。(其实就是懒的学了)
找解决方案:
MicroPython 发现 没有比较现成的刷 stm32F103 的比较详细的教程。(官网)(STM32F103 可用用的github地址)
STM32 刷 Ardunio 感觉很简单的样子 就试了一下。

一,环境

  • Window7 64

二,前期软件准备

Arduino IDE:环境搭建

官网下载软件并安装:https://www.arduino.cc/en/Main/Software

STMicroelectronics :引导烧录程序

ST 官网下载链接:https://www.st.com/en/development-tools/flasher-stm32.html
国内备用链接:https://download.csdn.net/download/github_37290846/13255802

Arduino_STM32:版型文件

这个 主要是 让arduino ide 可以识别主板用的

Github下载地址:https://github.com/rogerclarkmelbourne/Arduino_STM32
国内备用链接;https://download.csdn.net/download/github_37290846/13254506

STM32duino-bootloader:板子的引导程序

注:这个是板子的固件,可以理解为 板子的系统

Github下载地址:https://github.com/rogerclarkmelbourne/STM32duino-bootloader
国内备用下载链接:https://download.csdn.net/download/github_37290846/13253645

三,硬件准备

STM32F103C8T6 核心板

我的就某宝买的,10块钱不到 搞定。
STM32 F103核心板 刷Arduino 固件_第1张图片

串口线

注:这里的线必须是usb转串口的才可以 我的也是淘宝10块钱搞定的。

这样的:
STM32 F103核心板 刷Arduino 固件_第2张图片
和 这样的都可以 二选一:
STM32 F103核心板 刷Arduino 固件_第3张图片
STM32 F103核心板 刷Arduino 固件_第4张图片

板子上的mini usb 串口线

注意一定要可以做串口输出的。(我不会承认自己拿了一根只可以充电的线搞了n久 搞不定的)

四,开干

  1. 首先将Arduino引导程序上传到STM32通过USB转串口连接STM32的串口

STM32 F103核心板 刷Arduino 固件_第5张图片

  1. 将BOOT0接到VCC(1)

  2. 安装ST官方的Flasher工具,可使用该工具来刷新二进制文件

注:这里大家就自行截图吧。
有几个注意项:
1.一定要选64k
2.binaries 需要选适合自己的(一般来说为:generic_boot20_pc13.bin)板载小灯的控制针脚。
3.ST 的软件安装后没有桌面图标,所以安装好后要记得 安装路径。(实在忘记了就全局搜索一下:STMFlashLoader Demo.exe)

  1. 软件设置
    1.之前下载的 Arduino_STM32 文件解压放在arduino 安装路径下如:
    STM32 F103核心板 刷Arduino 固件_第6张图片
    2.重启 Arduino IDE,打开工具>板型,可见如图则安装成功:
    STM32 F103核心板 刷Arduino 固件_第7张图片
    3.安装STM32 开发板管理器

这里注意不要选错了。我傻不愣登的 选择 “库管理” 找半天找不到。最后才发现自己 眼睛抽抽。
STM32 F103核心板 刷Arduino 固件_第8张图片
STM32 F103核心板 刷Arduino 固件_第9张图片
STM32 F103核心板 刷Arduino 固件_第10张图片

  1. 安装驱动
    进入下面目录D:\App\Arduino\hardware\Arduino_STM32\drivers\win,以管理员身份运行install_drivers.bat和install_STM_COM_drivers.bat
    STM32 F103核心板 刷Arduino 固件_第11张图片

然后将开发板的串口线断开,将开发板BOOT0接GND后按住重置键不松,使用手机数据线连接开发板MicroUSB和电脑USB开始安装驱动,会发现一个新的USB串行设备下面为COM31
注:我经常得重复好几次才能成功。所以不要灰心。加油
补充:记得将BOOT0 的跳线帽拨回 O,(四 章节 第二点 ,改为了 1)
STM32 F103核心板 刷Arduino 固件_第12张图片

  1. Arduino 软件参数选择
    STM32 F103核心板 刷Arduino 固件_第13张图片

注:串口一定要选刚安装驱动出来的:一般为:Maple Mini 结尾

五,好了 我们可以 像 普通 arduino 一样烧录我们的 stm32 了

STM32 F103核心板 刷Arduino 固件_第14张图片

void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(PC13, OUTPUT);
  Serial.begin(115200);
  Serial1.begin(115200);  //RX=PA9,TX=PA10
  Serial2.begin(115200);  //RX=PA2,TX=PA3
  Serial3.begin(115200);  //RX=PB10,TX=PB11


}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(PC13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(PC13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);   
  Serial.println("Test Serial");
  Serial1.println("Test Serial1");
  Serial2.println("Test Serial2");
  Serial3.println("Test Serial3");// wait for a second
}

注:一般实例代码里面默认的 点等程序用的是PB1,我们的是 PC13 (上面也说了)。所以需要改一下。
7.针脚定义
STM32 F103核心板 刷Arduino 固件_第15张图片

详细说明:

你可能感兴趣的:(嵌入式,Stm32,Arduino,arduino,单片机,stm32)