**
如何在Arduino IDE中开发STM32F103C8T6
**
1. 先放上百度网盘连接:
链接:https://pan.baidu.com/s/1fU28Yu8CT7fehsMhftpzKQ
提取码:km0u
2.要准备的东西:
- STM32F103C8T6(蓝色:BluePill F103C8,黑色:BlackPill F103C8)
- CH340
- 面包板(可用杜邦线代替)
- 可通信的Micro USB数据线
- Arduino IDE
- https://www.arduino.cc/ https://github.com/rogerclarkmelbourne
第一步:软件环境搭建
- 首先下载Arduino IDE 网站:https://www.arduino.cc/
- 打开IDE,下载Cortex-M3编译器(工具-开发板->开发板管理器->搜索SAM)
第二步:安装STM32duino的固件和库 网站:
https://github.com/rogerclarkmelbourne
左边是库函数,右边是固件
烧录固件
打开下载的固件库,目录如下:
打开第一个文件夹,目录如下:
我的板子是PC13,将其复制到stm32flash.exe所在的目录,stm32flash.exe在下载的库函数文件里,下载之后,将其放在Arduino/hardware目录下:E:\Arduino\hardware\Arduino_STM32\tools\win
在烧录固件之前,首先要将板子上的Boot0接1,进入ISP下载模式
Boot0 Boot1跳线帽具体连接方式如下:
CH340与板子连接如下:
打开cmd,运行stm32flash.exe,烧录固件,查看串口号,执行以下指令:
stm32flash.exe -w generic_boot20_pc13.bin -v -g 0x0 COMX
烧录完成后,将Boot0跳线帽与0短接,拔掉CH340,用一根USB连接电脑和板子,如果PC13灯在间隔闪烁说明烧录成功
安装USB驱动
运行E:\Arduino\hardware\Arduino_STM32\drivers\win下的install_drivers.bat
打开Arduino IDE
若port可以检测到maple mini则说明驱动安装成功,按如下截图进行配置
要根据自己板子的信息进行配置,但是Upload method一定要选择bootloader下载方式
编译、下载(这里给出串口回显的程序,方便测试串口)
/*
* @Author: liguiyin
* @Date: 2019-12-01 10:35:53
* @LastEditTime: 2019-12-01 14:10:53
* @Description: README
* @FilePath: \SerialDisplay\serial\test1.ino
*/
/*串口接收数据最大长度*/
#define _SER_RECBUFSIZE 512
char serial_recive[_SER_RECBUFSIZE] =""; /*串口数据接收字符串*/
int status=0;
/*
读取串口输入(单个字节延迟2ms)
*/
int Serial_Read(char* result)
{
int single = 0;
while(Serial.available() > 0)
{
single = Serial.read();
delay(2);
if(single == '\n')
{
*(result++) = '\0';
Serial.flush();
return 0;
}
if(single != '\r')
*(result++) = single;
}
}
/*
清空串口接收缓冲区
*/
void Serial_BuffClear()
{
for(int i = 0 ; i < _SER_RECBUFSIZE ;i++)
{
serial_recive[i] = 0x00 ;
}
}
void setup()
{
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(115200);
}
void loop()
{
while(Serial_Read(serial_recive) == 0)
{
if(strlen(serial_recive) > 0)
{
Serial.println(serial_recive);
digitalWrite(LED_BUILTIN, status);
Serial_BuffClear();
status=!status;
}
}
}
运行效果:
注意:由于使用的是USB串口,不能普通的串口助手中进行串口收发,必须在支持USB串口的软件中进行收发,推荐Arduino IDE自带的串口助手,如果想要在普通的串口助手中进行串口收发,可将程序里的Serial替换为Serialx(1 2 3),既替换为板子的串口1 2 3。
5. 备注
在IDE上下载编译器时可以下载STM32官方提供的支持包,先添加附加链接
https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json
下载图中标号为2的支持包,该包支持以下板子: