打印
[综合信息]

华大单片机如何向MDK中加入头文件和库文件

[复制链接]
3714|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
coshi|  楼主 | 2021-8-7 16:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
大多数习惯于8位单片机开发的工程师,都会使用操作寄存器的方式来使用单片机。当初次接触华大单片机库开发的时候,会发现库里有好多的文件,不知道如何下手。本篇**会先介绍库的结构和里面关键文件,之后会介绍如何向之前建立好的工程里加入文件,使工程能编译起来。
我们首先看下HC32F003芯片的DDL库里文件结构



使用特权

评论回复
沙发
coshi|  楼主 | 2021-8-7 16:05 | 只看该作者
关键文件介绍
startup_hc32f003.s文件为汇编格式的文件,是启动文件。启动文件主要是进行堆栈之类的初始化,中断向量表以及中断函数定义。启动文件要完成引导进入 main 函数。

system_hc32f003.c文件的功能是设置系统以及总线时钟,这个里面有一个非常重要的 SystemInit()函数,这个函数在我们系统启动的时候都会调用,用来设置系统的整个时钟系统。

hc32f003.h文件里面非常多的结构体以及宏定义。这个文件里面主要是系统寄存器定义的声明以及封装内存操作,对于这里是怎样声明以及怎样将内存操作封装起来的,我们在后面再做讲解。

ddl.c和ddl.h文件中包含了中断函数的定义、延时函数、清内存函数和格式化打印输出的相关函数。


使用特权

评论回复
板凳
coshi|  楼主 | 2021-8-7 16:06 | 只看该作者
加入头文件
打开之前建立的mdk_test工程。
点击“魔术棒”,弹出设置里C/C++项,选Inlcude Paths项后面的“…”进行设置,操作如下图所示:

在弹出设置框中按下图步骤进行操作,选中common文件夹。

重复上面的设置步骤加入inc文件夹和source文件夹。头文件全部加好后如下图所示:


使用特权

评论回复
地板
coshi|  楼主 | 2021-8-7 16:07 | 只看该作者

头文件路径指好后,在项目中加入项目使用的文件。
Step1: 右键点击Target 1,在弹出框中选Add Group…,生成New Group文件夹



使用特权

评论回复
5
coshi|  楼主 | 2021-8-7 16:07 | 只看该作者
Step2: 把New Group文件夹改名为common。双击common文件夹,在弹出框中选中common文件夹中的startup_hc32f003.s和ststem_hc32f003.c文件。

使用特权

评论回复
6
coshi|  楼主 | 2021-8-7 16:08 | 只看该作者
Step3: 重复Step1和Step2步骤新建driver文件夹并向其文件夹内加入clk.c和ddl.c文件。并把Source Group 1文件夹名字改为source。这步完成后如下图

使用特权

评论回复
7
coshi|  楼主 | 2021-8-7 16:09 | 只看该作者
Step4: 单击Target 1 将其名字改为mdk_test

使用特权

评论回复
8
coshi|  楼主 | 2021-8-7 16:10 | 只看该作者
Step5: 在工具栏上先新建文件,并把文件存在source文件夹中,文件名存为main.c。在工程中把按Step2步骤把main.c文件加入到source文件夹中,此步骤完成后如下图

使用特权

评论回复
9
coshi|  楼主 | 2021-8-7 16:11 | 只看该作者
Step6: 在main.c文件中输入如下代码。

#include "ddl.h"

int32_t main ()
{
  ;
}


使用特权

评论回复
10
coshi|  楼主 | 2021-8-7 16:13 | 只看该作者

Step7:点击工具栏上的build按钮进行编译


编译成功后在编译输出窗口我们会看到目前的项目,0错误,0警告。

经过以上的步骤操作一个新的可以编译的工程我们就建好了。后面就可以在这个工程的基础上进行不同项目的开发。


使用特权

评论回复
11
gwsan| | 2021-9-6 12:16 | 只看该作者
头文件不是自己写的吧

使用特权

评论回复
12
zljiu| | 2021-9-6 12:16 | 只看该作者
可以用现成的头文件

使用特权

评论回复
13
cyclefly| | 2021-9-6 13:21 | 只看该作者
挺好,整理成PDF就完美了

使用特权

评论回复
14
qgbgzp| | 2021-12-31 10:51 | 只看该作者
挺好的,适合像我这种刚转到32机的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

95

主题

3308

帖子

4

粉丝