admin 管理员组

文章数量: 887021


2023年12月16日发(作者:git clone后切换分支)

keil3错误提示

编译产生的警告信息:

1 .警告提示类型 173

警告提示信息: WarningC173:missing return-expression(缺少返回表达式)

解决方法:在函数的结尾处加入和函数声明的返回值类型相同的返回值。

2. 警告提示类型 182

警告提示信息: WarningC182:pointer to different objects(指针指向不同的目标)

解决方法:将指针和指针指向的对象的数据类型改成一致。

3. 警告提示类型 206

警告提示信息:WarningC206:missing function prototype(缺少函数原型)

解决方法:被引用函数未被声明或不存在,检查是否声明或编写。

4. 警告提示类型 209

警告提示信息:WarningC209:too few actual parameters(太少的实参)

解决方法:查看被调用的函数原型,检查入口参数是否与原型一致。

5. 警告提示类型 275

警告提示信息:WarningC275:expression with possibly no effect(表达式可能无效)

解决方法:删除或修改无用表达式。

6. 警告提示类型 276

警告提示信息 WarningC276:constant in condition expression(条件表达式为常数)

解决方法:检查判断条件,在判断表达式中将常值条件改正。

7. 警告提示类型 280

警告提示信息:WarningC280:'??'unreferenced local variable(局部变量在函数中未作任何的存取操作)

解决方法:删除函数中变量的声明。

8. 警告提示类型 317

警告提示信息:WarningC317:attempt to redefine macro'??'(宏名称重新定义无效)

解决方法:将重复定义的宏名重新起名即可。

编译产生的错误信息

1. 错误提示信息:error C100:unpritable character 0x?? skipped(跳过不可打印的字符0x,,)

解决方法:在对应的语句里存在非法字符,找到非法字符,如中文字符,删掉即可。

2. 错误提示信息:error C101:'?':invalid character constant(无效的字符常量)

解决方法:在对应的语句里存在无效的字符常量,找到非法常量改成有效常量即可。

3. 错误提示信息:error C103:'':unclosed String (字符串没有结束)

解决方法:在对应的语句里定义的字符串缺少封闭的双引号,补齐即可。

4. 错误提示信息:error C129:missing';'before'??'(在标记前缺少‘;’)

解决方法:前一条语句可能缺少‘;’,或本行变量、函数名用空格隔开,将‘;’补上过删除多余空格即可。

5. 错误提示信息:error C130:‘using’:Value Out of Range(数值超出范围)

解决方法:将using标识符后的数字参数改成0-3之间的寄存器组号,将interrupt标示符后的数字参数改成0-31之间的中断矢量号。

6. 错误提示信息:error C132:‘,,':not in fremal parameter list(变量没有在正式的参数列表中)

解决方法:在变量声明区域给出变量定义。

7. 错误提示信息:error C134:‘,,':mspace on function not permitted(函数不允许定位在非code区)

解决方法:去掉函数前的存储类型定义。

8. 错误提示信息:error C136:‘,,’:‘void’on variable(变量用了void)。

解决方法:去掉void,将变量改成对应的其他数据类型。

9. 错误提示信息:error C138:‘??’:interrupt() may not receive or

return

value(s)(interrupt()不能有入口参数或返回值)

解决方法:将中断函数写成不带参数传递的函数。

10.错误提示信息:error C142:'??':invalid base address(无效的基地址)

解决方法:将基地址定义到可位寻址的特殊功能寄存器空间。

11.错误提示信息:error C146:'??':invalid base address(无效的基地址)

解决方法:将基地址定义到可位寻址的特殊功能寄存器空间。

12.错误提示信息:error C150:'??':bit member in

struct/union(struct/union包含一个bit成员)

解决方法:位型变量不能定义到struct/union。

13.错误提示信息:error C158:‘??':function contains unnamed

parameter(函数包含未命名的参数

解决方法:检查函数形参的定义,将未定义的变量名修改正确。

14.错误提示信息:error C183:unmodifiable lvalue(等号左侧的常值变量不能修改)

解决方法:不能对常值变量进行赋值,可用一个其他变量来代替。

15.错误提示信息:error C193:'??':bad operand type(非法操作类型)

解决方法:检查语句的运算符或指针的类型,并改成对应的运算符或正确的指针类型。

16.错误提示信息:error C195:‘*’:illegal indirection(间接非法)

解决方法:‘*’用到了非指针参数,将变量定义成指针即可。

17.错误提示信息:error C202:'??':undefined identifier(未定义的标识符)

解决方法:将变量或宏‘,,’进行定义即可。

18.错误提示信息:error C205:can't call an interrupt function(不能调用一个中断函数)

解决方法:一个中断函数不能像一个正常函数一样调用,若想调用必须单写一个同样功能的正常函数.

19.错误提示信息:error C208:too many actual parameters(太多的实参)。

解决方法:查看被调用的函数原型,检查入口参数是否与原型一致。

20.错误提示信息:error C209:too few actual parameters(太少的实参)。

解决方法:查看被调用的函数原型,检查入口参数是否与原型一致。

21.错误提示信息:error C214:illegal pointer conversion(非法指针转换)。

解决方法:查看被调用的函数原型,检查入口参数是否是与原型一致的指针参数。

22.错误提示信息:error C215:illegal type conversion(非法类型转换)。

解决方法:struct/union/void类型不能强制转换为其他类型,可将转换数据传递给一个过渡变量再转换。

23.错误提示信息:error C217:non-integral index(非整数索引)。

解决方法:将索引变量类型改为char、unsigned char、int、unsigned int等数据类型。

24.错误提示信息:error C231:'??':redefinition(重复定义)。

解决方法:将重复定义的符号重新起名。

25.错误提示信息:error C232:'??':duplicate label(标号重复)。

解决方法:将重复标号重新起名。

26.错误提示信息:error C233:'??':undefined label(未定义标号)

解决方法:给未定义标号起名。

27.错误提示信息:error C237:’??':function already has a body(函数已定义)

解决方法:给重复函数重新起名。

28.错误提示信息:error C249:‘DATA’:SEGMENT TOO LARGE(数据段太大)。

解决方法:定义的数据变量超出单片机的存储空间,可将一些数据变量定义到pdata或xdata区来解决.

29.错误提示信息:error C267:'??':requires ANSI-style prototype(函数定义需要ANSI类型的原型)

解决方法:被引用函数未被声明或不存在,检查是否声明或编写。

30.错误提示信息:error C300:unterminated comment(注释未结束)。

解决方法:一个注释缺少结束符‘*/’,补齐即可。

31.错误提示信息:error C301:identifier expected(期望标识符)。

解决方法:将对应的预处理命令补齐。


本文标签: 方法 函数 解决 变量 定义