问题应该出在引用这个h文件的c文件里面 |
头文件可能有问题,点这里重新添加一下:添加后将 X:\Keil\C51\INC 目录里所有文件设为只读。![]() |
本帖最后由 npn 于 2021-12-4 20:45 编辑 你把那4个文件打包上来,像这样都不知道那个文件有问题,头文件里面的代码不能动。 |
npn 发表于 2021-12-4 19:15 楼主写的很清楚,是STC89C5xRC.h,看看芯片里面到底有什么SFR。你就不能平心静气的看看楼主的图,再看看芯片手册再来发言???信口开河很有意思吗? ![]() |
188610329 发表于 2021-12-4 18:21 STC89头文件里没有的寄存器,你用sfr定义了也没用。 如果不是什么AT89,就不要用reg51.h等Keil自带的头文件。 |
从报错看,问题发生在第12行sfr之前,你可以检查一下第11行,或者1-4行,按end键转移到行末是否有乱入一些奇怪的东西,如果都没有,就去看调用这个头文件的指令前面一行,有啥奇怪的东西么, |
npn 发表于 2021-12-4 18:12 放大楼主的图片,你会看到,这图显示的就是stc89的头文件,这些全注释的话,会出乱子的。 |
npn 发表于 2021-12-4 18:12 楼主用的就是STC提供的h文件,编译器指出的错误也就出在STC提供的h文件里面,这些sfr根本不能注释掉,你仔细看清楚再回复我的帖子。 但实际上问题应该出在引用这个h文件的c文件里面。 |
Hephaestus 发表于 2021-12-4 18:10 把这些 sfr 全注释了,头文件里都已经有了。 |
npn 发表于 2021-12-4 18:01 楼主用的就是STC提供的h文件。 错误应该发生在引用这个h文件的c文件里面。 |
不要用 sfr 定义寄存器,不同的系列,同一个寄存器对应的 sfr 地址可能会有不同,请直接使用STC提供的头文件,错误的STC头文件,可能会导致程序异常。 |