标题: 用单片机+74hc595芯片驱动问题 程序编译报错重定义 [打印本页]

作者: pluskent    时间: 2022-1-30 19:10
标题: 用单片机+74hc595芯片驱动问题 程序编译报错重定义
大佬们,帮忙看一下我的错误之处,感激不尽~~

错误描述:hc595_drive.c文件中出现重定义报错

all.png (50.65 KB, 下载次数: 66)

其他文件

其他文件

drive.c.png (145.75 KB, 下载次数: 67)

错误文件

错误文件

drive.h.png (129.28 KB, 下载次数: 72)

其他文件

其他文件

main.png (103.44 KB, 下载次数: 73)

其他文件

其他文件

数码管.rar

34.66 KB, 下载次数: 5


作者: 名字不是重点    时间: 2022-1-31 09:35
.h文件的格式错了。

#ifndef     __HC595_H_     //文件名全大写,前面两个“_”,后边一个"_",文件名中间的“.”也要改成"_",
#define     __HC595_H_     


#endif   


最后一行还要以空白行出现,全空的,不要有任何字符!你可以在末2行最后打入一个回车,末行就是全空的了


作者: 名字不是重点    时间: 2022-1-31 09:51
hc595_driver.c这个文件居然没有include对应的文件hc595_driver.h,而是绕一大圈include “all.h”,
再在“all.h”中include  “hc595_driver.c”。。我醉了。。。

在“all.h”中居然在include字段中插入宏定义,

extern 在用法似乎也有问题,晕了,,你这个文件结构有点乱。。。

我也不知这样行不行,反正是看不顺眼。。

作者: 名字不是重点    时间: 2022-1-31 11:33
我帮你改了一下,没有报错了,你试试看看。

WQX15框架式编程.rar (48.41 KB, 下载次数: 10)

Build target 'Target 1'
linking...
Program Size: data=12.0 xdata=0 code=224
creating hex file from "WQX-15框架式编程"...
"WQX-15框架式编程" - 0 Error(s), 0 Warning(s).



作者: pluskent    时间: 2022-1-31 14:05
名字不是重点 发表于 2022-1-31 11:33
我帮你改了一下,没有报错了,你试试看看。



谢谢大哥帮忙解决问题,祝大哥新年快乐。
ifndef的格式问题我研究过,只要开头不是数字就可以,我这个写的是有点不标准。
文件结构我是根据网上的视频教程来写的,老师的说法是用all.h可以省事,不用每个.c都加很多头文件。
插入宏定义这个没注意,当时看的c语言书里也没详细介绍这个问题。
新手小白学习这个好困难~
作者: pluskent    时间: 2022-2-1 13:49
再次感谢大佬手把手帮忙改代码,学习到了不少,以后写代码应该多注意规范
我又重新看了下代码,发现原来的错误之处是hc595_drive.h文件里声明  extern u16 data hc595_data[2];错了
应改为extern u16 xdata hc595_data[2];




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1