[单片机芯片] 【沁恒WCH32F103测评报告】WCH32F103C8T6串口下载方法及串口打印

[复制链接]
4790|5
 楼主| catnull 发表于 2020-8-26 20:23 | 显示全部楼层 |阅读模式
1.CH32F103FC8T6的芯片准备知识
习惯了STC和Arduino的串口下载,对于arm32-M3指令集的国产芯片CH32F103C8T6,也在摸索着使用串口下载。在开发板的包里,干货满满,但是手头上没有SWD接口的编程器。找了资料,STM32F103是可以用串口下载的。前提是,你要连接好PA9(UART1_TX),以及PA10(UART1_RX)到USB-TLL转接板,比如CH340G的小板。
另外,需要设置BOOT启动的方式。跳线接法: BOOT1 -->GND, BOOT0-->VCC,这样才会从芯片内的出厂固件内存引导启动,这里相当于Arduino的BootLoader的功能。平常的接法是BOOT0-->GND,这是从Flash区运行启动代码,跳过了厂家代码区。

2.硬件准备好后,需要软件。下载WCH_ISP_tool(2.8)下载链接.
安装好后,界面如图。
isp.png

注意要选择CH32F1系列标签,Keil MDK编译器生成的Hex文件,需要再用户程序文件框内选择。
注意可以多试几次,比如插拔USB转串口小板。还有当出现“解除写保护”,需要先点击“解除保护”按钮。之后再点击下载。

4.测试UART_Printf串口打印功能
开发板的串口调试功能可以方便的输出一些具体的信息,作为程序运行的重要参考。这里我测试了math.h的正弦函数计算功能。算是发挥一下32位CPU的优势。想起来计算氢弹的理论的501机,每秒不过几十万次加法运算。这个机子已经远远超过了当年的庞然大物。
测试的源码:
main.c
  1. int main(void)
  2. {
  3.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  4.     Delay_Init();
  5.         USART_Printf_Init(115200);                             /* printf using USART1 */
  6.         printf("SystemClk:%d\r\n",SystemCoreClock);
  7.         printf("This is printf example\r\n");
  8.         printf("sin(pi/3)=%f",sin(PI/3));
  9.                                                 
  10.         while(1)
  11.   {        
  12.                
  13.         }
  14. }
使用串口助手来接收信息。
test.png

附阅读材料:中国计算机60年国产计算机前史
441.jpg
zeshoufx 发表于 2020-8-26 22:22 | 显示全部楼层
谢谢分享【WCH32F103C8T6串口下载方法及串口打印】
a13528442080 发表于 2020-8-29 09:42 | 显示全部楼层
得好好研究研究
rgjinxuan 发表于 2020-8-29 10:22 | 显示全部楼层
给点DEMO 版   让大家测试一下  
自己的灌饼 发表于 2020-9-4 15:52 | 显示全部楼层
很棒,很赞,我认为这种比较好一些。能够很好的调试
随风而去吧 发表于 2021-1-10 19:23 | 显示全部楼层
很棒棒哦,值得学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

41

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部