#中delay函数_51单片机C中.c文件和.h文件

本文介绍了C语言编程中.H文件的作用,包括方便开发和提供接口,以及应该包含的内容和不应包含的内容。延迟函数delay的实现分别在.H文件中声明,在.C文件中定义。在主程序中只需包含.H文件即可调用,通过extern关键字管理和避免重复声明。还提到了将头文件组织在特定文件夹下,便于在不同工程中复用的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ce74139726c5c2ee32ec8523e5cdbd49.gif

1)h文件作用

1 方便开发:包含一些文件需要的共同的常量,结构,类型定义,函数,变量申明;

2 提供接口:对一个软件包来说可以提供一个给外界的接口(例如: stdio.h)。

2)h文件里应该有什么

常量,结构,类型定义,函数,变量申明。

3)h文件不应该有什么

变量定义, 函数定义。

4)extern问题

对于变量需要extern;

对于函数不需要因为函数的缺省状态是extern的.如果一个函数要改变为只在文件内可见,加static。

5)include包含问题

虽然申明和类型定义可以重复,不过推荐使用条件编译。

#ifndef _FILENAME_H,

#define _FILENAME_H

……

#endif

6)应该在那儿包含h文件

在需要的地方.比如某个提供接口的h文件仅仅被1.c文件需要,那么就在1.c文件里包含。

编写的程序一般会有.H文件和相对应的.C文件,.H文件是声明所用,.C文件是其函数实现部分。在调用时只要包含.H文件即可,我们没有听说过#include "delay.c"这类的程序,同时也不提倡使用这个形式。

在delay.h文件中://对调用的函数声明

#ifndef __DELAY_H__

#define __DELAY_H__

extern void Delayms(unsigned int n);

#endif

在delay.c文件中://函数实现部分

#include

//for crystal 11.0592M

void Delayms(unsigned int n)

{

unsigned int i,j;

for(j=n;j>0;j--)

for(i=112;i>0;i--);

}

在主程序main.c中

#include //在主程序包含.h文件,不能包含.c文件

……

上述方法仍然要求每建立一个工程就需要把对应的头文件复制到工程的文件夹里,这样看来仍然是比较麻烦的,这时还有另外一中方法就是将做好的头文件放在一个文件夹中,然后将这个文件夹整体拷贝到..KEILC51INC下面,以后若需要使用某个头文件,就如使用KEIL自带的头文件一样方便了,在主函数mani()之前有一句#include 就可以在main()中使用其中的函数了。

e3797c0cd4cac2c321aab5ec05bde90a.png

7e2434ff4fa7edeb1dbd5bf86f3cc8d3.png

为了方便大家更好的学习,您还可以关注畅学电子和EDA的公众号,每天推送相关知识,希望能对你的学习有所帮助!

9a5c0112088e44b44cfea6ccd5a6e517.png

865231867167153fd64f6f81a544ada3.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值