slotg 发表于 2016-10-21 20:44:26

Arduino STM32 编程体验


在 TB 上看到了这一片 STM32F103C8T6 核心板,因为价格便宜才10多块钱所以没想太多就拍了一片下来,后来在网上无意间看到在国外有人拿这片板子在 Arduino IDE 编程,没想过这片便宜的板子也可以有这样的玩法,这引起了我的兴趣因此也就想自己也来体验一下了。

除了先要有 Arduino IDE 之外(我电脑里已经有 1.6.9 版本),还要在这里下载 STM32 所需要的相关程序包:
https://github.com/rogerclarkmelbourne/Arduino_STM32



下载后会得到一个 Arduino_STM32-master.zip 压缩包,将文件解压到 Arduino IDE 安装目录里头的 \hardware 目录底下。



运行 Arduino IDE,在开发板 Board 的部份就可以看到 STM32 相关的选单了,这片板子我们选择 Generic STM32F103C series 项目。(选单上也看到了 GD32)



每一片开发板的开始都会有一个 Blink 程序:#define pinLED PC13

void setup() {
Serial.begin(9600);
pinMode(pinLED, OUTPUT);
Serial.println("START");
}

void loop() {
digitalWrite(pinLED, HIGH);
delay(100);
digitalWrite(pinLED, LOW);
delay(100);
Serial.println("Hello World");
}
进行编译,不过却得到了这样的错误讯息:



这原因是我们目前 Arduino IDE 里头没有 ARM Cortex-M3 的编译程序,进入选单里头的 Boards Manager 功能选择安装这一个控件:



重新编译成功了。



选择程序上传(下载)的方式:



一开始我先使用了 STLink 方式,后来改用了 Serial 方式,原因是 Serial 方式可以开启串口窗口查看 STM32 串口发出的讯息。

Serial 方式的硬件管脚连接如下:



由于 USB转TTL 无法提供 STM32F103C8T6 核心板所需要的 3.3V 电源,因此核心板的电是从板上的 USB 口供电的。(核心板上有 5V 转 3.3V 的 LDO)

Serial 方式要先将板上的 BOOT0 接 1,上传前先按一下板上的 RESET 键后再按下窗口上的 Upload 。



上传成功之后就可以看到板上的 LED 开始闪烁,并且在开启的串口窗口上看到 STM32 串口发出的 Hello World 了。




分享一段视频,有人拿这片核心板跟 Arduino Mini/Nano 板运行一个相同的程序,使用 SPI 口来驱动一个 LCD 屏,看看 2 者之间的运行效率差别有多少。

http://v.youku.com/v_show/id_XMTc2OTEyOTIyOA==.html
http://v.youku.com/v_show/id_XMTc2OTEyOTIyOA==.html

STM32F103C8T6原理图


STM32F103C8T6核心板尺寸





洛阳城 发表于 2016-10-26 10:50:24

这个炸天了,有没有更详细的教程哈

洛阳城 发表于 2016-10-26 10:58:15

:):):):):):):):):):):)

fanjiezz 发表于 2016-11-24 22:51:33

请问楼主:
编译下载时显示
Failled to init device:
stm32flash0.4
是bootload不对吗?
怎样装载bootload?
谢谢!
我的ARDUINO版本是1.6.12

slotg 发表于 2016-11-25 10:12:48

fanjiezz 发表于 2016-11-24 22:51 static/image/common/back.gif
请问楼主:
编译下载时显示
Failled to init device:


上传你是选择 Serial 模式吗?

fanjiezz 发表于 2016-11-25 10:22:56

是的,没错。

slotg 发表于 2016-11-25 11:37:11

fanjiezz 发表于 2016-11-25 10:22 static/image/common/back.gif
是的,没错。

我也不清楚這個是否跟 IDE 版本有關!晚點我再試試使用 1.6.12 版。

fanjiezz 发表于 2016-11-26 12:33:07

楼主不用再试了,我已解决了。
由于ARDUINO上传不行,用FLASH LOADER把它的BIN文件上传即可。
也谢谢楼主的关心

fanjiezz 发表于 2016-11-27 13:19:44

我试了多次,ARDUINO的上传成功概率极低。报错如下:
”Failed to init device.
stm32flash 0.4
http://stm32flash.googlecode.com/
Using Parser : Raw BINARY
Interface serial_w32: 230400 8E1“
我用的是stm32f103c8t6型号
原因在哪?求指教
谢谢!

toofree 发表于 2016-12-5 00:00:01

这个可以了解一下
页: [1] 2
查看完整版本: Arduino STM32 编程体验