当前位置:首页 > 公众号精选 > 嵌入式微处理器
[导读]昨日,嵌入式ARM一文《 STM32价格疯长下,盘点STM32的国产替代者 》受到了广泛关注。应读者要求,嵌入式ARM将继续介绍能够替代STM32的国产产品。今日带来能够完美替代STM32的产品是沁恒微电子的CH32F103以及RISC-V内核的CH32V103两款产品。



昨日,嵌入式ARM一文《 STM32价格疯长下,盘点STM32的国产替代者 》受到了广泛关注。应读者要求,嵌入式ARM将继续介绍能够替代STM32的国产产品。

今日带来能够完美替代STM32的产品是沁恒微电子的CH32F103以及RISC-V内核的CH32V103两款产品。

CH32F1系列是基于32位Cortex-M3内核设计的通用微控制器。片上集成了时钟安全机制、多级电源管理、 通用DMA控制器等。此系列具有 2 路 USB2.0接口、多通道 TouchKey、 12 位 DAC 转换模块,多通道 12 位 ADC、 多组定时器、 CAN 通讯控制器、 I2C/USART/SPI 等丰富的外设资源。

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

试验目标:使用WCH沁恒CH32F103开发板点灯编程试验

一、搞点资料看看,电路图要搞到

从21ic论坛(bbs.21ic.com/iclist-900-1.html)里找些资料看看,强烈推荐下载那个CH32F103评估板说明及参考应用例程:CH32F103EVT.ZIP



之所以推荐下载这个压缩档,是因为里面有一个非常好的说明文件:



这个说明文件非常棒,介绍了每个目录的内容,为制作这个说明文件的小哥哥点赞!!!

电路图在这个压缩档有:



1. LED没有直接连到MCU引脚,需要准备连接导线;
2. 烧录调试接口貌似ST-LINK,准备一个高仿ST-LINK烧录器即可;




二、搭建环境,芯片的PACK安装

上面下载的压缩包里就有PACK,Keil.WCH32F1xx_DFP.1.0.0.pack,直接点击安装即可,打开KEIL,在KEIL里看见如下就意味着PACK搞好了。


先选择一下芯片,如下图:



由于我的烧录器是ST-LINK,在配置中选择即可:



选择一下芯片算法,64K滴:



三、搞定代码,点亮屏幕


上述压缩包里就有现成的例子,点灯LED代码直接拿过用,哎呀,这代码风格就是ST的标准啊,无需额外学习,直接上手,哈哈

void GPIO_Toggle_INIT(void){ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure);}int main(void){ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); Delay_Init(); GPIO_Toggle_INIT();while(1) { Delay_Ms(500); PAout(0) ^= (1<<0); }}

由于我使用PA0点灯,记得将LED连接到PA0即可。

四、学习将视频转GIF,看着方便

将上述代码编译烧录,看看效果,还可以啊,哈哈哈哈


五、上传这块开发板点灯源代码:

为了方便和朋友们交流,将源代码上传上来,下载请点击阅读原文。

六、开发板评价

1. WCH沁恒CH32F103开发板总体制作精良,用心了
2. 代码风格和ST一样一样滴,上手也快
3. 外设功能和ST有细微差异,看过手册也都能明白
4. 这块开发板的其它功能,待后续慢慢搞,后面准备搞个U盘自动更新功能,哈哈

【沁恒WCH32F103测评报告】WCH32F103C8T6串口下载方法及串口打印
用户:catnull

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)下载链接.

安装好后,界面如图。



注意要选择CH32F1系列标签,Keil MDK编译器生成的Hex文件,需要再用户程序文件框内选择。

注意可以多试几次,比如插拔USB转串口小板。还有当出现“解除写保护”,需要先点击“解除保护”按钮。之后再点击下载。

4.测试UART_Printf串口打印功能

开发板的串口调试功能可以方便的输出一些具体的信息,作为程序运行的重要参考。这里我测试了math.h的正弦函数计算功能。算是发挥一下32位CPU的优势。想起来计算氢弹的理论的501机,每秒不过几十万次加法运算。这个机子已经远远超过了当年的庞然大物。

测试的源码:

main.c

int main(void){ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); Delay_Init(); USART_Printf_Init(115200); /* printf using USART1 */printf("SystemClk:%d\r\n",SystemCoreClock);printf("This is printf example\r\n");printf("sin(pi/3)=%f",sin(PI/3));while(1) {  }}


使用串口助手来接收信息。



附阅读材料:中国计算机60年国产计算机前史


【RISC-V MCU CH32V103测评】01:LED Demo
用户:740071911

第一次体验risc-v的板子,真的是不错,快递也很迅速。而且cortex m系列挺像的,这样上手就很容易了,体验一下点灯操作。

点灯需要注意的是,led小灯没有连接到mcu的引脚上,需要自己用杜邦线连接一下


代码也很简单,有stm32经验的很容易

/********************************** (C) COPYRIGHT ******************************** File Name : main.c* Author : WCH* Version : V1.0.0* Date : 2020/04/30* Description : Main program body.*******************************************************************************/#include "debug.h"void LED_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure);}void GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin){ GPIOx->OUTDR ^= GPIO_Pin;}int main(void){ Delay_Init(); //USART_Printf_Init(115200); //printf("SystemClk:%d\r\n",SystemCoreClock); LED_Init(); while(1) { Delay_Ms(1000); GPIO_TogglePin(GPIOA, GPIO_Pin_0); }}

【RISC-V MCU CH32V103测评】02:USART Demo
用户:740071911

注意,WCH-Link的串口只能发送,不能接收! 直接在上一个LED Demo基础上添加。



添加串口1,通过串口接收中断来接收数据,接收到回车键,一帧数据结束。
主程序里处理串口数据(或丢弃或返回)



用其他usb转ttl工具,看看显示



串口调试助手显示结果


你认为这款开发板如何?之后嵌入式ARM还会继续登载国产替代者的更多测评信息。


附: 沁恒微电子MCU选型表

END

资料:21ic论坛,整理:付斌


推荐阅读

国内MCU能替代国外产品吗?MCU的未来又将如何?
STM32价格疯长下,盘点STM32的国产替代者
选微处理器MPU,还是单片机MCU?两者区别详解

免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

嵌入式ARM

扫描二维码,关注更多精彩内容

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

虽然嵌入式芯片架构市场上有明确的引领者,但该行业正在快速扩张,预计未来几年将出现许多新的机会。当然,在这样的热门行业中,永远有创新技术和新产品的一席之地。

关键字: 嵌入式 处理器 RISC-V

Holtek隆重推出全新一代32-bit Arm® Cortex®-M0+ 5V CAN MCU - HT32F53231/HT32F53241/HT32F53242/HT32F53252。这一系列单片机带有来自Bosc...

关键字: MCU 工业自动化 单片机

Holtek精益求精,宣布推出全新5V宽电压Arm® Cortex®-M0+ 32-bit MCU系列HT32F50431/HT32F50441/HT32F50442/HT32F50452。此系列MCU经多方位升级能满...

关键字: 单片机 智能家居 工业控制

单片机小精灵是一款针对单片机开发者的辅助工具,它集成了代码编辑、编译、调试等多项功能,旨在帮助开发者更加高效地进行单片机项目的开发。本文将详细介绍单片机小精灵的使用方法,帮助读者快速掌握这款工具,提高开发效率。

关键字: 单片机 代码编辑 辅助工具

2024年3月8日 – 专注于引入新品的全球电子元器件和工业自动化产品授权代理商贸泽电子 (Mouser Electronics) 即日起供货Advantech的VEGA-P110 PCIe Intel® Arc A37...

关键字: 嵌入式 GPU卡 边缘AI

单片机和PLC将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对二者的相关情况以及信息有所认识和了解,详细内容如下。

关键字: PLC 单片机

在这篇文章中,小编将对单片机的相关内容和情况加以介绍以帮助大家增进对单片机的了解程度,和小编一起来阅读以下内容吧。

关键字: 单片机 芯片 集成电路

一直以来,单片机都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来单片机的相关介绍,详细内容请看下文。

关键字: 单片机 控制器

康佳特采用博世力士乐的 ctrlX OS 操作系统

关键字: 计算机模块 嵌入式 机器人
关闭
关闭