能够完美替代STM32的两款产品介绍和评测

发布时间:2023-10-20  

今日带来能够完美替代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接口等丰富的外设资源。

bef183b8-57dd-11eb-8b86-12bb97331649.jpg

多说无益,直接看几个21ic家网友关于这两款开发板的测评: 【CH32F103测评报告】+基于WCH沁恒CH32F103开发板点灯编程用户:yljon 试验目标:使用WCH沁恒CH32F103开发板点灯编程试验

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

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

bf6b8d8e-57dd-11eb-8b86-12bb97331649.png

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

1. LED没有直接连到MCU引脚,需要准备连接导线;

2. 烧录调试接口貌似ST-LINK,准备一个高仿ST-LINK烧录器即可;

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

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

c0ad05f6-57dd-11eb-8b86-12bb97331649.png

由于我的烧录器是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)下载链接。

安装好后,界面如图。

c2fadfa4-57dd-11eb-8b86-12bb97331649.png

注意要选择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 ”,SystemCoreClock);printf(“This is printf example ”);printf(“sin(pi/3)=%f”,sin(PI/3));while(1) { }}

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

c33c081c-57dd-11eb-8b86-12bb97331649.png

附阅读材料:中国计算机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 ”,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基础上添加。

c409fc2c-57dd-11eb-8b86-12bb97331649.png

添加串口1,通过串口接收中断来接收数据,接收到回车键,一帧数据结束。

主程序里处理串口数据(或丢弃或返回)

c45a1fa4-57dd-11eb-8b86-12bb97331649.png

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


串口调试助手显示结果


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

附:沁恒微电子MCU选型表

c67d7b0a-57dd-11eb-8b86-12bb97331649.jpg


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    努力。阿里人,学习反思和自查。” 态度很诚恳,感情很真挚。然而这却是一个套路,一个深深的套路。 二、 支付宝的“校园日记”,始于上周六,兴起于周日,高潮于周一,却“死亡”于今天。 为什么......
    AutoSAR中的诊断模块是什么;什么是诊断 首先,举个一个简单的例子来说明诊断的重要性:想象你的汽车是一个经常生病的孩子,每当它出现问题时,它会哭泣(警告灯亮起)。而诊......
    是想发出一点倡议,这些有能力玩弄舆论和民意的写字的人,尽量有一点社会责任,控制一下自己的能力,给广大吃瓜群众一点活路吧。 其实我看到转发一次送一块钱的时候,就得出两个结论,第一结论是,这不是什么......
    也因为它在欧美的广泛受欢迎。 我们经常听到一些芯片代理商、广告什么的频频提到,本公司产品可以完美替代某某厂商某某型号。比如我最近一直比较关注STM8S003F3P6的替代......
    12月期间出货相应数量的替代生产品,借此填补停工缺口。” 众所周知,当前全球汽车产量已经因为车用芯片短缺而开始停产减产,而那珂工厂作为目前车用芯片指标大厂之一,生产......
    D32VF103控制器的定位是什么?;对于GD32VF103一些想法 1.定位是什么? 2.编程模型是什么? 3.目前有哪些软件生态可以使用? 4.可以怎么玩? 1.定位是什么?GD32VF103......
    国太空部队之间的战略技术伙伴关系的支持。 印度在亚洲的战略地缘政治地位为该国及其在技术领域所能提供的机会提供了新的关注点。在过去十年中,莫迪曾多次表示,他将把印度定位为中国的替代品,并且......
    的最小寻址单位是字节,那么怎么将寻址单位缩小到bit?要弄明白这个问题,那就要先弄明白什么是位带别名区了。 三、什么是位带别名区 从位带别名区名字上理解,感觉它像是别人的替身,实际使用上它就是别人的替......
    学物联网工程的,在学校编程和嵌入式都有学习,前段时间集中实践发现自己对嵌入式挺感兴趣的,但身边从事硬件的学长学姐几乎没有,也不知道从哪里获得过来人可靠的消息。 所以想问问从事嵌入式的工程师平常的工作是什么......
    一直在爬科学的“喜马拉雅山”。当华为受打压时,就请这些科学家到“山脚”来“放羊”“种地”……拿着“手术刀”参加“杀猪”的战斗。三年时间内,因为有国产的零部件供应,华为完成了13000多颗器件的替代......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>