这是沁恒开发的RISCV32单片机,48MHz,16K Rom,2K Ram,非常便宜,只需要5毛钱左右(其实py32f002系列更便宜性能更强大,但是老外玩的比较少,资料也少)
官方github:openwch/ch32v003: CH32V003 is an ultra-cheap RISC-V MCU with 2KB SRAM, 16KB flash, and up to 18 GPIOs that sells for under $0.10
开发方式:
1.官方IDE,MounRiver Studio,可断点调试
参考CH32V307的开发方式:沁恒CH32V307EVT-R1开发板使用说明 - JeasonBoy - 博客园
2.Arduino
跟上面的307开发板用同个官方的开发板库:https://github.com/openwch/board_manager_files/raw/main/package_ch32v_index.json
然后在开发板里找到CH32V00x的就行,编译后直接点上传即可
也可用民间的Arduino库,好像不维护了,不推荐:AlexanderMandera/arduino-wch32v003: Arduino Core for CH32V003 RISC-V microcontroller
3.天问Block图形化开发
选CH32V003的开发板后,随便打开一个例程,点编译&下载 理论上应该也能自动下载,但不知道为啥应该是有BUG无法下载,可通过WCH-LinkUtility来手动下载程序
天问的编译后程序在:D:\天问Block\ch32v003\fw.bin
打开WCH-LinkUtility,选RISC-V内核,CH32V003芯片,然后选上“接触芯片代码保护”,按Alt+F1选择上面编译好的天问固件bin Alt+F4开始上传程序
4.ch32fun.(推荐)
cnlohr大神(mini-rv32ima的作者)开发的ch32库,比官方的API简洁好用,避免复杂的HAL编写,甚至程序还更小,性能更好?(作者说的,我没测试过)
很多老外的项目都是通过这个库开发的,而非官方的SDK
5.platform-ch32v
貌似是将官方的SDK移植到PlatformIO??我没试过,看着有点像
注意:PD1引脚默认被SWD占用,所以无法控制该引脚的GPIO,如果需要控制,则需要关闭PD1的SWD功能,重映射引脚为GPIO,天问的GPIO例子里有这个示例
但是如果SWD重映射为GPIO,则无法通过SWD下载程序是,解决方法是断电,按住复位按钮(即NRST拉低),然后上电,就会强制进入SWD模式
烧录程序:
CH32V307EVT-R1上半部分的LinkE也可以用来给ch32v003烧录程序
默认下右上角的排针是这样连的:
将跳帽去掉,按以下方式跟ch32v003连接:
CH32V003 LinkE
RX TX_0
TX RX_0
SWD DIO0
其中RX,TX不是必须的,如果要用到串口输出可以连上,而SWD是必须的,它用来下载、调试