Vscode platformio Arduino开发STM32,点灯+串口调试

1.工具

  1. USB-TTL(非常便宜,几块钱)
  2. STM32F103C8T6(几块钱)

2.引脚连线

Vscode platformio Arduino开发STM32,点灯+串口调试_第1张图片

USB-TTL STM32
TX PA10
RX PA9
VCC 3.3V
GND GND

注意事项:

  1. 跳线帽位置:BOOT0接高电平(1),BOOT1接低电平(0)
  2. 每次上传程序前需要按一下复位键(之后,跳线帽的位置不需要改变,程序即可正常运行),否则会可能出现下面这种情况:

在这里插入图片描述

3.开发环境搭建

  1. 在Vscode中下载platformio插件:

Vscode platformio Arduino开发STM32,点灯+串口调试_第2张图片
2. 新建工程

Vscode platformio Arduino开发STM32,点灯+串口调试_第3张图片
3.注意事项:第一次新建工程时,速度会特别慢,因此可以直接添加我已经下载好的资源包,放到自己的电脑相应位置中即可,这样第一次新建工程时速度就会非常快,不过第一次上传程序时仍然会自动下载一些依赖(比如下载工具,这个不用管会自动进行下载,速度很快)

Vscode platformio Arduino开发STM32,点灯+串口调试_第4张图片

Vscode platformio Arduino开发STM32,点灯+串口调试_第5张图片

4.工程配置

在platformio.ini文件中需要添加以下代码(注意根据自己的串口进行修改)
Vscode platformio Arduino开发STM32,点灯+串口调试_第6张图片

[env:genericSTM32F103C8]
platform = ststm32
board = genericSTM32F103C8
framework = arduino
upload_port = COM17
monitor_port = COM17
upload_protocol = serial

5.测试程序

注意事项:

  1. 由于stm32的调试串口是非Arduino标准定义的,因此需要使用SoftwareSerial库。
  2. 串口调试:经过测试,串口波特率只能设置为9600,设置其他数值无法进行串口打印调试
// 示例1:点灯测试程序
#include 

#define ledPin PC13

void setup()
{
  pinMode(ledPin, OUTPUT);
}

void loop()
{
  digitalWrite(ledPin, HIGH);
  delay(500);
  digitalWrite(ledPin, LOW);
  delay(500);
}

// // 示例程序2:串口调试
// #include 
// #include 

// const byte txPin = PA9;
// const byte rxPin = PA10;

// SoftwareSerial mySerial(rxPin, txPin);
// static int i = 0;
// void setup()
// {
//   pinMode(rxPin, INPUT);
//   pinMode(txPin, OUTPUT);

//   mySerial.begin(9600);
// }

// void loop(){

//   mySerial.println(i++);
//   delay(500);
// }

你可能感兴趣的:(STM32开发教程,stm32,单片机,vscode,Arduino)