标题: 单片机程序找不出语法错误,什么意思啊 [打印本页]

作者: Hi-    时间: 2021-12-4 16:09
标题: 单片机程序找不出语法错误,什么意思啊
找不出语法错误

?.png (418.93 KB, 下载次数: 46)

?.png

作者: npn    时间: 2021-12-4 18:01
不要用 sfr 定义寄存器,不同的系列,同一个寄存器对应的 sfr 地址可能会有不同,请直接使用STC提供的头文件,错误的STC头文件,可能会导致程序异常。
作者: Hephaestus    时间: 2021-12-4 18:10
npn 发表于 2021-12-4 18:01
不要用 sfr 定义寄存器,不同的系列,同一个寄存器对应的 sfr 地址可能会有不同,请直接使用STC提供的头文 ...

楼主用的就是STC提供的h文件。

错误应该发生在引用这个h文件的c文件里面。
作者: npn    时间: 2021-12-4 18:12
Hephaestus 发表于 2021-12-4 18:10
楼主用的就是STC提供的h文件。

错误应该发生在引用这个h文件的c文件里面。

把这些 sfr 全注释了,头文件里都已经有了。
作者: Hephaestus    时间: 2021-12-4 18:19
npn 发表于 2021-12-4 18:12
把这些 sfr 全注释了,头文件里都已经有了。

楼主用的就是STC提供的h文件,编译器指出的错误也就出在STC提供的h文件里面,这些sfr根本不能注释掉,你仔细看清楚再回复我的帖子。

但实际上问题应该出在引用这个h文件的c文件里面。
作者: 188610329    时间: 2021-12-4 18:21
npn 发表于 2021-12-4 18:12
把这些 sfr 全注释了,头文件里都已经有了。

放大楼主的图片,你会看到,这图显示的就是stc89的头文件,这些全注释的话,会出乱子的。
作者: 188610329    时间: 2021-12-4 18:25
从报错看,问题发生在第12行sfr之前,你可以检查一下第11行,或者1-4行,按end键转移到行末是否有乱入一些奇怪的东西,如果都没有,就去看调用这个头文件的指令前面一行,有啥奇怪的东西么,
作者: npn    时间: 2021-12-4 19:15
188610329 发表于 2021-12-4 18:21
放大楼主的图片,你会看到,这图显示的就是stc89的头文件,这些全注释的话,会出乱子的。

STC89头文件里没有的寄存器,你用sfr定义了也没用。
如果不是什么AT89,就不要用reg51.h等Keil自带的头文件。
作者: Hephaestus    时间: 2021-12-4 19:44
npn 发表于 2021-12-4 19:15
STC89头文件里没有的寄存器,你用sfr定义了也没用。
如果不是什么AT89,就不要用reg51.h等Keil自带的头 ...

楼主写的很清楚,是STC89C5xRC.h,看看芯片里面到底有什么SFR。你就不能平心静气的看看楼主的图,再看看芯片手册再来发言???信口开河很有意思吗?



作者: npn    时间: 2021-12-4 20:38
本帖最后由 npn 于 2021-12-4 20:45 编辑

你把那4个文件打包上来,像这样都不知道那个文件有问题,头文件里面的代码不能动。
作者: npn    时间: 2021-12-4 20:52
头文件可能有问题,点这里重新添加一下:添加后将 X:\Keil\C51\INC 目录里所有文件设为只读。




作者: lixiangyu811    时间: 2021-12-5 13:48
问题应该出在引用这个h文件的c文件里面




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