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

1.工具

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

2.引脚连线

在这里插入图片描述

USB-TTLSTM32
TXPA10
RXPA9
VCC3.3V
GNDGND

注意事项:

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

在这里插入图片描述

3.开发环境搭建

  1. 在Vscode中下载platformio插件:

在这里插入图片描述
2. 新建工程

在这里插入图片描述
3.注意事项:第一次新建工程时,速度会特别慢,因此可以直接添加我已经下载好的资源包,放到自己的电脑相应位置中即可,这样第一次新建工程时速度就会非常快,不过第一次上传程序时仍然会自动下载一些依赖(比如下载工具,这个不用管会自动进行下载,速度很快)

在这里插入图片描述

在这里插入图片描述

4.工程配置

在platformio.ini文件中需要添加以下代码(注意根据自己的串口进行修改)
在这里插入图片描述

[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 <Arduino.h>

#define ledPin PC13

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

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

// // 示例程序2:串口调试
// #include <Arduino.h>
// #include <SoftwareSerial.h>

// 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);
// }
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值