
今日带来能够完美替代STM32的产品是沁恒微电子的CH32F103以及RISC-V内核的CH32V103两款产品。 CH32F1系列是基于32位Cortex-M3内核设计的通用微控制器。片上集成了时钟安全机制、多级电源管理、 通用DMA控制器等。此系列具有 2 路 USB2.0接口、多通道 TouchKey、 12 位 DAC 转换模块,多通道 12 位 ADC、 多组定时器、 CAN 通讯控制器、 I2C/USART/SPI 等丰富的外设资源。% t8 G9 G3 I( X4 b) j CH32V103则是其在去年上半年推出的RISC-V架构的32位通用MCU微控制器。CH32V103系列是以RISC-V3A处理器为核心的32位通用微控制器,该处理器是基于RISC-V开源指令集设计。片上集成了时钟安全机制、多级电源管理、通用DMA控制器。此系列具有1路USB2.0主机/设备接口、多通道12位ADC转换模块、多通道TouchKey、多组定时器、多路IIC/USART/SPI接口等丰富的外设资源。 ![]() 多说无益,直接看几个21ic家网友关于这两款开发板的测评: 【CH32F103测评报告】+基于WCH沁恒CH32F103开发板点灯编程用户:yljon/ [- u. j: t5 I" i% n 试验目标:使用WCH沁恒CH32F103开发板点灯编程试验 一、搞点资料看看,电路图要搞到 从21ic论坛(bbs.21ic.com/iclist-900-1.html)里找些资料看看,强烈推荐下载那个CH32F103评估板说明及参考应用例程:CH32F103EVT.ZIP 0 z) n8 w, A s' w9 { i. _, M ![]() 之所以推荐下载这个压缩档,是因为里面有一个非常好的说明文件: 3 ~+ r/ u6 ~1 T8 A# n8 ~ ![]() 这个说明文件非常棒,介绍了每个目录的内容,为制作这个说明文件的小哥哥点赞!!! 电路图在这个压缩档有: # q2 {% H1 e, Y" ] ![]() 6 t# E! @0 I' j3 D0 L; i4 ` 1. LED没有直接连到MCU引脚,需要准备连接导线;, S# S0 l3 M- \, N7 o 2. 烧录调试接口貌似ST-LINK,准备一个高仿ST-LINK烧录器即可; 0 r- S ~ z% b& \' `
![]() 二、搭建环境,芯片的PACK安装. h. [" z% r7 W& E1 E& x 上面下载的压缩包里就有PACK,Keil.WCH32F1xx_DFP.1.0.0.pack,直接点击安装即可,打开KEIL,在KEIL里看见如下就意味着PACK搞好了。 1 D% H( R6 D, L* `2 C 先选择一下芯片,如下图:7 e0 L. t% h% z5 x( Z4 M# r! J9 f9 z+ S4 c$ f9 g ![]() - j; N' \* M* N% w; y# c; r8 a5 b* p& @ 由于我的烧录器是ST-LINK,在配置中选择即可: - ^% u# d3 W! ~- j3 W# ? ![]() * y V- {. h/ B; A3 m1 z; \ 选择一下芯片算法,64K滴: ![]() ( b, R* Z* t) a, t% ?& h8 D* a+ _ 三、搞定代码,点亮屏幕 4 ^# K. E" }( _9 J7 N' ^ 上述压缩包里就有现成的例子,点灯LED代码直接拿过用,哎呀,这代码风格就是ST的标准啊,无需额外学习,直接上手,哈哈
由于我使用PA0点灯,记得将LED连接到PA0即可。/ l2 x) H( a2 Y) N7 z* { 四、学习将视频转GIF,看着方便 将上述代码编译烧录,看看效果,还可以啊,哈哈哈哈 ![]() 6 p% F1 X; B ~ k8 l2 Y) H" e 五、上传这块开发板点灯源代码:* j+ f! w5 m+ Y+ V8 e) i 为了方便和朋友们交流,将源代码上传上来,下载请点击阅读原文。 六、开发板评价: U, U' e& h4 X4 M! Q5 L5 O 1. WCH沁恒CH32F103开发板总体制作精良,用心了5 a% ^# U4 P* o. A% a b: U7 c 2. 代码风格和ST一样一样滴,上手也快 3. 外设功能和ST有细微差异,看过手册也都能明白 4. 这块开发板的其它功能,待后续慢慢搞,后面准备搞个U盘自动更新功能,哈哈 【沁恒WCH32F103测评报告】WCH32F103C8T6串口下载方法及串口打印用户:catnull- W2 y6 j$ k- J$ l+ \4 W9 B- m7 O 1.CH32F103FC8T6的芯片准备知识 习惯了STC和Arduino的串口下载,对于arm32-M3指令集的国产芯片CH32F103C8T6,也在摸索着使用串口下载。在开发板的包里,干货满满,但是手头上没有SWD接口的编程器。找了资料,STM32F103是可以用串口下载的。前提是,你要连接好PA9(UART1_TX),以及PA10(UART1_RX)到USB-TLL转接板,比如CH340G的小板。3 @6 d9 O, f5 S$ s% e8 Y$ _ 另外,需要设置BOOT启动的方式。跳线接法:BOOT1 -->GND, BOOT0-->VCC,这样才会从芯片内的出厂固件内存引导启动,这里相当于Arduino的BootLoader的功能。平常的接法是BOOT0-->GND,这是从Flash区运行启动代码,跳过了厂家代码区。# ]$ q- N% E; c) h: o: m) k7 n 8 B3 Z8 t6 U* Z& N6 V2 o 2.硬件准备好后,需要软件。下载WCH_ISP_tool(2.8)下载链接. 安装好后,界面如图。 ![]() + V# d; o- G! M$ q6 R5 W. A 注意要选择CH32F1系列标签,Keil MDK编译器生成的Hex文件,需要再用户程序文件框内选择。 注意可以多试几次,比如插拔USB转串口小板。还有当出现“解除写保护”,需要先点击“解除保护”按钮。之后再点击下载。! Y# c. |% f9 w; |1 p2 e ) E+ J; ~2 S. X+ O; ^) |. n 4.测试UART_Printf串口打印功能8 j; M `! J5 l' t4 Y1 X9 z 开发板的串口调试功能可以方便的输出一些具体的信息,作为程序运行的重要参考。这里我测试了math.h的正弦函数计算功能。算是发挥一下32位CPU的优势。想起来计算氢弹的理论的501机,每秒不过几十万次加法运算。这个机子已经远远超过了当年的庞然大物。) ~- e) b [& @: ~; X 测试的源码: main.c0 F4 `$ u S( f1 L! q( R0 b6 Q5 d ![]() 附阅读材料:中国计算机60年国产计算机前史' a0 `" ~0 Z7 E2 Y f1 U ![]() 【RISC-V MCU CH32V103测评】01:LED Demo用户:740071911 第一次体验risc-v的板子,真的是不错,快递也很迅速。而且cortex m系列挺像的,这样上手就很容易了,体验一下点灯操作。3 j5 b. B1 a0 Z. T 点灯需要注意的是,led小灯没有连接到mcu的引脚上,需要自己用杜邦线连接一下 ![]() 代码也很简单,有stm32经验的很容易 【RISC-V MCU CH32V103测评】02:USART Demo用户:740071911 注意,WCH-Link的串口只能发送,不能接收!直接在上一个LED Demo基础上添加。: c# u& q* ?& r3 u ![]() 3 A9 ^0 \7 Z1 C% P/ c$ B 添加串口1,通过串口接收中断来接收数据,接收到回车键,一帧数据结束。$ t. H1 x6 u% U1 n3 D z" Q 主程序里处理串口数据(或丢弃或返回) ![]() 用其他usb转ttl工具,看看显示: x* j% ?4 `/ a) Z4 l& @9 E ![]() 5 `( g; c7 K7 F 串口调试助手显示结果% p& [4 i- z: q0 J/ g 0 K8 F, D& L3 O/ L* L! O8 e0 f ![]() 你认为这款开发板如何?之后嵌入式ARM还会继续登载国产替代者的更多测评信息。 附:沁恒微电子MCU选型表 ![]() |
沁恒的东西还是不错的,下个项目争取用上 |
能把资料完善好,最好了,资料 很头疼 |