0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

Q4MP_gh_c472c21 来源:21ic论坛 作者:21ic论坛 2021-01-21 09:55 次阅读

今日带来能够完美替代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

原文标题:盘点STM32的国产替代者(2)

文章出处:【微信公众号:嵌入式ARM】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    15195

    浏览量

    171093
  • STM32
    +关注

    关注

    2239

    文章

    10669

    浏览量

    348695
  • 开发板
    +关注

    关注

    25

    文章

    4420

    浏览量

    93921

原文标题:盘点STM32的国产替代者(2)

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    LT8302和LT8301能够实现双路不同大小电压输出吗?

    需要设计两款电源: 1、24VDC输入,5VDC(1A)输出; 2、24VDC 输入,6VDC(500mA)和25VDC(250mA)输出; 请问用LT8302或LT8301能够实现吗? 它们能够实现双路不同大小电压输出吗?
    发表于 01-05 11:46

    AGM Micro发布兼容STM32的MCU产品系列

    AGM Micro发布了兼容STM32的MCU产品系列,推出具有低延迟高灵活性的功能模块MCU产品系列。AGM32产品系列对32位MCU的广大客户群提供国产
    发表于 12-29 11:18

    使用两款单片机模拟SPI协议与adtt7320通信遇到的疑问求解

    大家好:我在调试adtt7320号这个芯片。使用两款单片机模拟SPI协议与adtt7320通信,现在遇到了个问题:一、标准32与adtt7320号都用3.3v供电时,系统可以正常通信。若标准
    发表于 12-19 06:34

    替代品牌型号介绍

    电子发烧友网站提供《可替代品牌型号介绍.xlsx》资料免费下载
    发表于 12-14 10:49 6次下载

    PKD01用哪芯片能替代它?

    PKD01是一很好用的峰值保持电路,因停产很难买到货,请问用哪芯片能替代它?
    发表于 11-24 08:27

    AD620与AD627两款产品各自适合的信号输入的频率范围是多少?

    您好,我想询问一下AD620与AD627两款产品各自适合的信号输入的频率范围。
    发表于 11-14 06:08

    今天介绍的是可以兼容替代STM32F003系列的国产MCU DP32F003系列

    无差别) STM32F003系列和DP32F003系列是可以互相兼容替代的,,区别就在于一个是国外进口品牌一个是国产品牌,这年国产芯片越做越好了,就像DP32F003系列,它是完全可
    发表于 09-14 11:07

    新唐MINI58替代新唐M0516,软件上调整得工作量大不大?

    想用新唐MINI58替代新唐M0516,两款芯片接口一致不?软件上调整得工作量大不大?谢谢!
    发表于 08-23 07:15

    茂睿芯MK91808HSA完美替代芯源MP6908AGJ

    在电子工程领域,元器件很重要,它们支持设备的运转,构成设备的基础框架。因此,选取适合的元器件是电子工程师的一个重要任务。芯源MP6908AGJ是一个常用的元器件,但由于诸多因素,比如供应不足或高价格,有时会需要找到替代品。在这方面,茂睿芯MK91808HSA能够为设计者提
    的头像 发表于 08-14 15:08 1204次阅读

    STM32WB无线产品介绍

    电子发烧友网站提供《STM32WB无线产品介绍.pdf》资料免费下载
    发表于 07-31 16:50 1次下载
    <b class='flag-5'>STM32</b>WB无线<b class='flag-5'>产品</b><b class='flag-5'>介绍</b>

    安森德ASIP0400AB完美替代LTM4644

    ,ASIP0400AB产品相比ADI公司LTM4644IY产品参数接近,功能引脚兼容,可以完美支持PIN TO PIN替代 对比表如下:                        
    的头像 发表于 06-19 15:30 495次阅读
    安森德ASIP0400AB<b class='flag-5'>完美</b><b class='flag-5'>替代</b>LTM4644

    NUC131 IO口直接PWM驱动步进电机,这两款芯片的PWM区别很大吗?

    用NUC131LD2AE 的PWM0 和PWM1直接驱动2个四线步进电机,用M0516的程序改了改总是不行,这两款芯片的PWM区别很大吗?请教大神有NUC131驱动步进电机的代码吗,
    发表于 06-13 07:30

    STM32系列国产替代GD32芯片选型手册

    STM32系列国产替代GD32芯片选型手册
    发表于 05-22 16:39 9次下载

    两款芯片大比拼,谁是电源适配器的完美搭档?对比见分晓

    在前几篇的文章中,我们给各位小伙伴带来了精彩的对比测试分享。相信大家看了测试数据也知道,选择思睿达电源管理芯片替代其它产品是比较靠谱的,完美的实现国产替代。接下来,继续给各位小伙伴带来
    的头像 发表于 05-11 10:57 1160次阅读
    <b class='flag-5'>两款</b>芯片大比拼,谁是电源适配器的<b class='flag-5'>完美</b>搭档?对比见分晓

    两款芯片大比拼,谁是电源适配器的完美搭档?对比见分晓

    在前几篇的文章中,我们给各位小伙伴带来了精彩的对比测试分享。相信大家看了测试数据也知道,选择思睿达电源管理芯片替代其它产品是比较靠谱的,完美的实现国产替代。接下来,继续给各位小伙伴带来
    的头像 发表于 05-11 10:34 1165次阅读
    <b class='flag-5'>两款</b>芯片大比拼,谁是电源适配器的<b class='flag-5'>完美</b>搭档?对比见分晓