基于Arduino框架下开发STM32F103C8T6系统板注意事项
- STM32F103C8T6最新系统板
- 引脚功能图
这里就不讲关于stm32在arduinoIDE环境搭建了。
需要补习的可以参考其他博主文章。
本文主要讲解程序通过串口烧录工具(USB转TTL)烧录方法以及注意事项:
把USB 转 TTL 模块的四根先 连接到stm32f103c8t6 ,按照3.3v接到3.3v GND接到GND , 串口1 ,也就是A9为TX引脚,A10为RX引脚。
- 注意:上传程序前,检查跳线帽的位置是否正确,如果第一次没上传成功,就拔插一下电源线,再上传。上传成功后,记得把跳线帽调到0这边来,否则,断电重启程序不会运行起来。
- 本次以示例程序烧写为例:
需要注意的事项重点内容:在使用arduinoIDE里面自带的示例程序时,需要在初始化setup{ }函数里面添加波特率,不然会出现程序烧录后,断电或复位后不能正常运行烧录的程序,并且串口监视器监视不到,至于问题为什么我也折腾了好久才发现。
代码:
void setup() {
// initialize digital pin PB1 as an output.
Serial.begin(115200); //stm32f103c8t6板子有3个串口,我们一起都定义了。
Serial1.begin(115200); //TX=PA9,RX=PA10
Serial2.begin(115200); //TX=PA2,RX=PA3
pinMode(PC13, OUTPUT); //这个是板载PC13引脚连接的LED灯,作为输出引脚
pinMode(PB6, OUTPUT); //PB6功能引脚对应板子上的B6号丝印引脚号。
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(PC13, HIGH); // turn the LED on (HIGH is the voltage level)高电平为熄灭
digitalWrite(PB6, HIGH);
delay(6000); // 闪烁中间的延时6秒,PC13板载灯灭6秒,PB6,5V输出高电平,亮6秒。
Serial.println("开灯");
digitalWrite(PC13, LOW); // PC13板载灯亮2秒
digitalWrite(PB6, LOW); //PB6熄灭6秒
delay(2000); // wait for a second
Serial.println("关灯");
}
🛠烧录选项设置
开发板需要将boot0的跳线帽调到“1”,3.3V这边,boot1不要动,默认是在“0”,这边。
upload method
不能选第一项“stm32duino BootLoader
”(如果之前没有烧录相应的固件),就选择第二项“serial”烧录。
- 程序烧录成功的信息显示如下图:
- 程序烧录完成后,将boot0的跳线帽插会原来“0”这边,然后按复位即可运行所烧写的程序了。