找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8863|回复: 12
收起左侧

怎么把C语言.C文件做成.H头文件?

  [复制链接]
ID:867450 发表于 2020-12-24 23:06 | 显示全部楼层 |阅读模式
下面这个网页里面有LCD12864显示的C语言代码.c,求大神教我怎么做.h文件
https://blog.csdn.net/Augurlee/a ... 5817?locationNum=14
回复

使用道具 举报

ID:213173 发表于 2020-12-25 07:12 | 显示全部楼层
  1. #ifndef __LCD_H_
  2. #define __LCD_H_
  3. /***********************************
  4.    宏定义数据类型别称及操作指令等
  5. ************************************/
  6.         #define uint unsigned int
  7.         #define uchar unsigned char
  8.         #define lcd_databus P2
  9. /***********************************
  10.    定义所使用的端口名称
  11. ************************************/
  12.         sbit CS1=P0^3;
  13.         sbit CS2=P0^4;
  14.         sbit RS =P0^5;
  15.         sbit RW =P0^6;
  16.         sbit EN =P0^7;               

  17. /***********************************
  18.    指定对应变量为外部变量
  19. ************************************/
  20. //        extern uchar x;
  21. //        extern uint  y;
  22. /**************************************************************
  23.   声明供外部调用的函数
  24. **************************************************************/       
  25.         void lcd_set_line(uchar sline);
  26.         void lcd_clear(uchar sel);
  27.         void lcd_init();
  28.         void display(uchar cs, uchar page, uchar column, uchar* p);

  29. #endif
复制代码

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:836944 发表于 2020-12-25 09:08 | 显示全部楼层
你是想问用keil生成hex?下个keil,生成hex的教程一搜就有

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:852300 发表于 2020-12-25 09:16 | 显示全部楼层
习惯用现成的了!都是网上找的!
回复

使用道具 举报

ID:367934 发表于 2020-12-25 09:16 | 显示全部楼层
有一个词语叫做模块化设计,意思就是把同样功能的功能封装成独立的文件。在C语言编程中最常见的就是模块封装成h文件和c文件。
h文件又叫头文件。一般用于存放相关的定义和函数声明,主要是定义提供外部使用的定义和函数声明。学过C语言的应该都知道定义变量时不能重复定义否则就会报错,所以为了重复定义报错在h文件需要有一定的格式即预编译命令。比如下面这个例子:
H头文件:
tester.h
文件内容:
#ifndef __TESTER_H  //预编译命令,大概作用就是当多处调用此文件时,遇到前面已经编译过了就不会重复编译下面的内容。
#define __TESTER_H
/**************
存放定义和声明的地方
**************/
#endif
/////////////////////////////////////////////////////////////////
C文件:
tester.c
内容:
#include “tester.h”  //调用文件或者导入头文件。

有函数te_printf()需要提供外部调用。
void te_printf(void)
{
        printf("abcd\r\n");
}
H头文件:
tester.h
文件内容:
#ifndef __TESTER_H  //预编译命令,大概作用就是当多处调用此文件时,遇到前面已经编译过了就不会重复编译下面的内容。
#define __TESTER_H

void te_printf(void);//函数声明

#endif
/////////////////////////////////////////////////////////////////
C文件:
tester.c
内容:
#include “tester.h”  //调用文件或者导入头文件。
//函数实现
void te_printf(void)
{
     printf("abcd\r\n");
}

外部使用:
文件:
main.c
内容:
#include <stdio.h>
#include “tester.h”//导入头文件
void main()
{
   te_printf();//调用函数
}
注意:调用之前需要把H文件的存放路径告诉编译器否则也会报错。









评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:744327 发表于 2020-12-25 09:43 | 显示全部楼层
下载keil软件,编译后生成hex的
回复

使用道具 举报

ID:373388 发表于 2020-12-25 10:49 | 显示全部楼层
不知道是要.hex文件还是.h文件;
1.打开已写好的工程项目,可通过双击工程项目打开,也可以在keil中,菜单栏的P...
2.点击菜单Project--Options to File,进入到选择对话框中
3.在Options for target对话框中,切换到target栏中,...
4.切换到output栏中,点击Seclet Folder Objects,可以设置生成H...
5.切换到output栏中,勾选Create HEX file选项,并点击确定
如果是要.c文件改为.h文件,实际上把.c后缀直接改为.h就能用;我见过有人这样用;规范一点,还是.h文件存放相关的变量常熟定义以及函数声明;.c文件用于存放函数; .c和.h文件成对出现;具体多看看例程序很快就能理解。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:390416 发表于 2020-12-25 12:53 | 显示全部楼层
我已经分享了 最新的LCD12864资料和源码截图 审核后可以查看 欢迎使用
回复

使用道具 举报

ID:867450 发表于 2020-12-26 21:15 | 显示全部楼层
回复

使用道具 举报

ID:868640 发表于 2020-12-27 10:47 | 显示全部楼层
这个不是keil 直接就能生成吗
回复

使用道具 举报

ID:868655 发表于 2020-12-27 10:56 来自触屏版 | 显示全部楼层
如果是要.c文件改为.h文件,实际上把.c后缀直接改为.h就能用;我见过有人这样用;规范一点,还是.h文件存放相关的变量常熟定义以及函数声明;.c文件用于存放函数; .c和.h文件成对出现;具体多看看例程序很快就能理解。
回复

使用道具 举报

ID:834848 发表于 2020-12-27 16:42 来自触屏版 | 显示全部楼层
在Keil里面更改就行. h可以直接用
回复

使用道具 举报

ID:394148 发表于 2020-12-27 19:45 | 显示全部楼层
新建文件,保存时候用.h结尾,然后在.h文件的开头写上#ifndef __XX_H
#define __xx_H
最后写上#endif
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表