STM32国产替代方案

STM32国产替代方案

目录

  • STM32国产替代方案
    • 前言
    • 1 安装环境
      • 1.1 MounRiver Studio
      • 1.2 WCHISPTool
    • 2 新建工程
    • 3 编写和编译代码
    • 4 烧录和仿真
    • 结束语

前言

最近这两年因为各种因素影响,芯片的价格水涨船高。像ST系列的stm32价格暴涨了好几倍,stm32是很多公司以前一直都在用的芯片,突然的涨价导致新旧产品的成本都增加了不少,所以很多公司开始寻找可以替代的便宜芯片,于是很多国产方案应运而生。比如:GD32,AT32等等,我很早之前也介绍过GD32的使用和移植,不过我今天要讲的不是这些芯片。
我最近在调试一款沁恒的MCU,这也是意外发现的一款IC,首先声明一点,这里没有任何打广告的成分,纯粹是介绍一下这款IC,给大家多一种选择。沁恒微电子大家可能都没听说过,但是他们公司有一款芯片你们一定知道,那就是CH340,是一个很常用的串口转换芯片。不过我今天要讲的也不是这个IC,我今天主要介绍的是沁恒的CH32V203,我用这个MCU做一个USB键盘,感觉还可以,关键是这个芯片比ST便宜。

关于这个MCU详细的介绍这里就不讲了,你们可以自己去官网看一下,官网上还有很多其他型号的MCU,对标不不同的应用场景。我这里主要讲一下这个MCU具体要怎么使用,怎么编程和烧录。

官网地址:https://www.wch.cn/products/CH32V203.html

1 安装环境

1.1 MounRiver Studio

MounRiver Studio跟stm32不同,不是用keil编译的,而是MounRiver Studio,但是用法都是类似的。

官网下载地址:http://mounriver.com/download
STM32国产替代方案_第1张图片

下载完打开安装包直接安装,一路next即可。

1.2 WCHISPTool

WCHISPTool是烧录工具,用于MCU代码的烧录。

官网下载地址:https://www.wch.cn/downloads/WCHISPTool_Setup_exe.html

STM32国产替代方案_第2张图片

提示:PS:官网上还有很多资料,可以根据自己使用下载,比如:芯片手册,PCB,代码例程,驱动,调试工具等。

2 新建工程

1、打开MounRiver Studio,选择工程保存的目录。
STM32国产替代方案_第3张图片

2、依次点击File -> New -> MounRiver Project
STM32国产替代方案_第4张图片

3、选择自己使用的芯片型号,修改项目名称,点击Finish即可。
提示:第一次打开时,项目页面可能会被欢迎页挡住,关掉即可看到工程目录。
STM32国产替代方案_第5张图片

此时,一个基础工程就建立完成了,这个软件会根据你选择的MCU自动把相应的库函数添加进来,后续你在这个工程的基础上添加修改自己的应用代码即可。
STM32国产替代方案_第6张图片

4、在工程下添加文件或者文件夹
如果需要在工程下添加新的文件或者把已存在的文件、文件夹添加进来,可以在工程目录下右键添加。
STM32国产替代方案_第7张图片

如果添加的文件夹里面包含有头文件的话,还需要在工程的根目录下添加头文件路径。
在工程最外面的文件夹右键,点击Properties
STM32国产替代方案_第8张图片
找到C/C++Build -> Settings -> includes,然后添加头文件所在的文件夹目录即可。
STM32国产替代方案_第9张图片

3 编写和编译代码

官网上有MCU的代码例程,可以根据自己的使用情况把相应的demo加入到你新建的工程里面,然后编译。
编译只需要点击一下左上角那个图标即可。编译成功后在工程目录下obj文件里面会生成hex文件。
STM32国产替代方案_第10张图片

4 烧录和仿真

打开WCHISPTool烧录工具,选择对应的MCU,选择前面编译好的hex文件,然后把MCU的USB或者串口接入到电脑上,按下面配置好之后下载即可。
提示:烧录时需要先拉一下BOOT0引脚再上电,BOOT引脚高低电平分别对应烧录模式和运行模式,建议这里做成按键,需要烧录时先按下按键进入烧录模式,烧录完成之后松开按键进入运行模式。这一点类似于乐鑫ESP系列的MCU。

STM32国产替代方案_第11张图片

仿真需要用到官方的一个WCH-Link工具,类似JLink和ST-Link,我这里没买这个工具,具体就不说了。

结束语

好了,关于沁恒的这个MCU的介绍就到这里了,我用这个MCU做了一款USB键盘,键盘部分的代码是从其他MCU上面移植过来的,移植的过程也很顺利。使用起来感觉跟stm32没有太大的差别,包括一些硬件的接口以及软件的固件库,特别是官方提供的固件库,跟stm32的库非常像,很多函数的名字都是一样的,比如GPIO的配置,定时器的配置,中断服务函数等等,跟stm32基本都是一样的,所以如果是从stm32移植过去的话会很方便。唯一有一点我觉得不是很好的,就是烧录的时候没有stm32的swd方便,它需要拉一下那个BOOT脚才能烧录,完了又需要拉回去。
具体性能、功耗这些我没去测试过,这里就不做评价了,但是对于性能要求不高的设备肯定是够用了的,关键是价格还便宜。当然了,我也没有和其他国产MCU比较,也不清楚这个MCU还有没有其他的坑暂,用不用都是大家的自由,我只是给大家提供了另外一种替代方案。

好了,闲话就说到这了,如果觉得这篇文章有帮到你的话,给博主点个赞呗。

你可能感兴趣的:(单片机相关,经验分享,stm32,单片机,arm)