如何用CH32F103做一个Arduino开发板
简介
CH32F103C8T6 和 STM32F103C8T6 基本上是完全兼容的国产版,CH32F103C8T6 开发板淘宝也是一样,就几块钱,于是我买了一块做 Arduino 开发板用。
相关资料不多而且比较古老,我搞了三四天才能用 Arduino IDE 下载。
CH32F103C8T6 规格书:https://www.wch.cn/products/CH32F103.html
其实 ST 原版相关资源更多,开源的支持也更好,毕竟国外用的多。如果没有特别需求还是建议买 ST 开发板。
下载 Bootloader
WCH 即沁恒提供了下载工具:https://www.wch.cn/downloads/WCHISPTool_Setup_exe.html,直接下载安装。
CH32F103C8T6 Bootloader 下载地址:https://github.com/rogerclarkmelbourne/STM32duino-bootloader/tree/master/binaries
这里有两个文件夹:bootloader_only_binaries
和 binaries
,一定要下载 binaries
文件夹里的 generic_boot20_pc13.bin
文件(pc13 是指开发板上 LED 灯的控制 IO)。
先把开发板上的跳线帽改成 10,即 boot0 连接 1,boot1 连接 0.USB线连接板背面的接口。
打开 WCHISPTool,先选择芯片系列,搜索 USB 设备,添加 Bootloader 文件,然后解除保护,最后点下载。
下载完成后,将跳线帽恢复到 00 位置,连接开发板上面的 USB 接口。
Arduino IDE 下载和驱动安装
打开 Arduino IDE 下载页:https://www.arduino.cc/en/software/,拉到下方下载 Arduino IDE 1.8.19。最好是安装版,绿色版有可能会出问题,并且 1.x 和 2.x 并不冲突。
再下载开发板硬件相关文件:https://github.com/rogerclarkmelbourne/Arduino_STM32,解压后复制到 Arduino IDE 安装目录下 C:\Program Files (x86)\Arduino\hardware\Arduino_STM32
,
打开 drivers\win
文件夹,双击 install_drivers.bat
运行,不用管理员身份运行。
这个库介绍写的很清楚,所以我开始用 Arduino IDE 2.3.6 搞了一天是完全错误的:
Arduino STM32. Hardware files to support STM32 boards, on Arduino IDE 1.8.x including LeafLabs Maple and other generic STM32F103 boards
Arduino IDE 下载
开发板连接 USB 后:
Arduino IDE 打开开发板会有 STM32F1 Boards,打开一个 Blink 示例,将 IO 改成 pc13,编译下载测试一下:
总结
WCH 还有一些 RISC-V 内核的 MCU,价格好像贵了一些,也有开源的项目支持:https://github.com/openwch/arduino_core_ch32
- Arduino IDE 只支持 1.8.x,别用 2.x。
我用 VS Code + PlatformIO 也没能搞定下载固件,platformio.ini 配置如下:
[env:bluepill_f103c8]
platform = ststm32
board = bluepill_f103c8
framework = arduino
upload_protocol = dfu设备驱动 Maple drivers 安装会有一些建议使用 zadig:https://github.com/pbatard/libwdi,但我测试不行,会出现名叫 Maple 003 的通用串行设备,并不能被 Arduino IDE 识别。
- CH32F103C8T6 开发板资料也不全,淘宝卖家提供的都是牛头不对马嘴,原厂芯片规格书也写的不清不楚,比如 boot0 和 boot1 到底各表示什么,我只能如下猜测:
- 有说可以使用串口 1 下载程序的,boot 跳线选择 10,我测试是不成功的,无法下载。boot 改成 00 也不行,不知道是不是只有 STM32 才可以。
- 开发板连个起码的尺寸图也没有,难道只插面包板用?我在国外网站搜到一个:
参考文章:https://www.electroniclinic.com/stm32-bootloader-stm32f103c-programming-using-usb-cable/
奖励链接: 欢迎使用推荐链接,新用户充值有奖励 https://www.vultr.com/?ref=7342510