目录

前言

一、模块文件复制粘贴

二、MRS内部添加文件

三、编译下载验证

总结


前言

        这里主要是补充一下如何快速移植stm32的模块代码到CH32中来,本文使用的是CH32V307,编译环境为MounRiver Studio,我们还是拿OLED模块的代码来做示范。

        本文是将现有代码移植进来,如果是新建模块代码的话请移步主页看CH32系列第二章教程。


一、模块文件复制粘贴

        首先新建工程1-3_OLED,并打开工程所在文件夹。

        我们在这个文件夹下新建一个 "Hardware" 文件夹。并准备好需要移植的工程模块文件夹。

        我们将需要移植的模块的.c和.h文件复制到我们CH32的Hardware文件夹中来,这样就完成了外部的移植,我们下一步进入到MRS编译器内部来操作。

二、MRS内部添加文件

        我们回到MRS后可以发现Hardware文件夹以及对应的.c和.h文件都已经自动添加好了。这一点倒是比keil方便一些。

        我们先解决报错问题。stm32的代码移植到CH32中时的报错问题大概率是头文件的声明问题。我们添加在OLED_Font.h文件中添加  #include "ch32v30x.h"  这一句,在OLED.c文件的最上面把 #include "stm32f10x.h" 替换成 #include "ch32v30x.h" 。

        我们在左侧写有工程名称处右键单击,选择 "属性"

        我们按照图中圈出的部分来选择 "编译设置" - "Tool Settings" - "Includes" - "+Add" 。

       我们点击 "Browae" 按钮选择添加文件路径。

        这里勾选 "Hardware" 文件夹,点击确认

        点击 "Confirm" 。

         这里可以看到我们的Hardware已经添加进路径了,我们点击 "应用" 就搞定啦。

        此时我们再在main.c中声明OLED.h,并调用模块函数。

三、编译下载验证

        此时模块的移植就已经完成了,编译后应当显示编译成功。如果有报错可以将模块代码中的函数都屏蔽,只留一个空函数再在main.c中调用,若无报错,即模块化成功但模块代码中有兼容错误;若有报错即模块化有问题,请检查是否上述某个过程有遗漏。

        进一步的验证可以下载到开发板上看看功能是否实现。


总结

        恭喜你花一分钟学会了如何将stm32的模块代码移植到CH32中来,现在可以开启你的CH32探索之旅了,请继续加油。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐