一、newline expected,extra characters found(c323)
头文件定义有问题
#ifndef #define #endif
他们后面的文件名与文件名不一致,或者大小写不一致,文件名尽量避免( . )因为( . )需要写成_代表文件类型,可是文件名中的点不好界定,所以尽量避免使用。
二、error C267:'文件名':requires ANSI-style prototype
一般是#ifndef #define #endif这些操作后面的文件名没有大写,把文件都大写,然后重新把文件加入keil中就没了
如果这个位置是函数名,看看是不是没有声明这个函数。或者没有在魔术棒中添加这个函数所在文件的.h文件
三、errorC141:syntax error near ‘某一数据类型’
我报错为这个的时候开始以为是传入数据和调用数据类型不一致导致的,怎么强制类型转化都不行,后来发现是报错语句中的一个函数所在文件有问题,在那个文件中没有调用同名.h文件,直接调用的单片机类型库文件。并且在有一个延时函数文件的前提下,在这个文件中又写了同名的延时函数。
四、error C231:'你进行位定义用的名' redefinition
这个错误是我在三情况改完这些问题出现的,后来发现是.h文件里面已经进行了位定义,在.c文件中又进行了一次位定义。所以删掉一个就行,我删的是.c文件的。
五、
ERROR L118:巴拉巴拉一句话
SYMBOL:_一个文件名
MODULE:main.obj
ADDRESS:一个地址
这个错误在keil官网有解释,说是全局变量必须大写就是symbol那里的那个单词,我找遍项目也没发现我定义了全局变量,也许他说的和我理解的不一致把,最重要的是官网说的是函数或变量,而我的这个位置是文件名,最后我把延时函数的.c.h文件名改成全大写了。结果真的没错误了。
一个下午光改错查资料了手麻麻,不过看见这条的时候真的好开心,这是我20年来最喜欢的话了,希望以后可以经常见到。
六、ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED
在keil5编译51项目时,由于下载51支持包后没有破解报错。重新破解就可以恢复了
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)