这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 51单片机C中.c文件和.h文件

共2条 1/1 1 跳转至

51单片机C中.c文件和.h文件

工程师
2021-05-21 00:00:01     打赏

1)h文件作用


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


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


2)h文件里应该有什么


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


3)h文件不应该有什么


变量定义, 函数定义。


4)extern问题


对于变量需要extern;


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


5)include包含问题


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


#ifndef _FILENAME_H,


#定义_FILENAME_H


……


#万一


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


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


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


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


#ifndef __DELAY_H__


#定义__DELAY_H__


extern void Delayms(unsigned int n);


#万一


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


#包括


//用于水晶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()中使用其中的函数了。




高工
2021-06-04 23:50:17     打赏
2楼

文件做的非常不错


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]