数码之家

 找回密码
 立即注册
搜索
查看: 190|回复: 7

[C51] 有些keil软件编译的警告、错误提示会古怪的使人无从下手

[复制链接]
发表于 前天 11:02 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 慕名而来 于 2025-5-19 11:03 编辑

昨天调试编译代码时我用的keil uv3提示了一大堆的警告、错误,直接给我弄不会了,详见如下:

DELAY.H(7): 错误 C132: '_delay_ms': not in formal parameterlist
EPD_E0213.C(19):错误 C132: 'main': not informal parameter list
EPD_E0213.C(19):错误 C141: syntax errornear '{'
EPD_E0213.C(20):错误 C136: 'P_SW2': 'void'on variable
EPD_E0213.C(20):错误 C132: 'P_SW2': not informal parameter list
EPD_E0213.C(21):错误 C136: 'P0M0': 'void'on variable
EPD_E0213.C(21):错误 C244: 'P0M0': can'tinitialize, bad type or class
EPD_E0213.C(21):错误 C136: 'P0M0': 'void'on variable
EPD_E0213.C(21):错误 C132: 'P0M0': not informal parameter list
EPD_E0213.C(21):错误 C244: 'P0M1': can'tinitialize, bad type or class
EPD_E0213.C(21):错误 C132: 'P0M1': not informal parameter list
EPD_E0213.C(21):错误 C244: 'P1M0': can'tinitialize, bad type or class
EPD_E0213.C(21):错误 C132: 'P1M0': not informal parameter list
EPD_E0213.C(21):错误 C244: 'P1M1': can'tinitialize, bad type or class
EPD_E0213.C(21):错误 C132: 'P1M1': not informal parameter list
EPD_E0213.C(21):错误 C244: 'P2M0': can'tinitialize, bad type or class
EPD_E0213.C(21):错误 C132: 'P2M0': not informal parameter list
EPD_E0213.C(21):错误 C244: 'P2M1': can'tinitialize, bad type or class
EPD_E0213.C(21):错误 C132: 'P2M1': not informal parameter list
EPD_E0213.C(21):错误 C244: 'P3M0': can'tinitialize, bad type or class
EPD_E0213.C(21):错误 C132: 'P3M0': not informal parameter list
EPD_E0213.C(21):错误 C244: 'P3M1': can'tinitialize, bad type or class
EPD_E0213.C(21):错误 C132: 'P3M1': not informal parameter list
EPD_E0213.C(21):错误 C244: 'P4M0': can'tinitialize, bad type or class
EPD_E0213.C(21):错误 C132: 'P4M0': not informal parameter list
EPD_E0213.C(21):错误 C244: 'P4M1': can'tinitialize, bad type or class
EPD_E0213.C(21):错误 C132: 'P4M1': not informal parameter list
EPD_E0213.C(21):错误 C244: 'P5M0': can'tinitialize, bad type or class
EPD_E0213.C(21):错误 C132: 'P5M0': not informal parameter list
EPD_E0213.C(21):错误 C244: 'P5M1': can'tinitialize, bad type or class
EPD_E0213.C(21):错误 C132: 'P5M1': not informal parameter list
EPD_E0213.C(21):错误 C244: 'P6M0': can'tinitialize, bad type or class
EPD_E0213.C(21):错误 C132: 'P6M0': not informal parameter list
EPD_E0213.C(21):错误 C244: 'P6M1': can'tinitialize, bad type or class
EPD_E0213.C(21):错误 C132: 'P6M1': not informal parameter list
EPD_E0213.C(21):错误 C244: 'P7M0': can'tinitialize, bad type or class
EPD_E0213.C(21):错误 C132: 'P7M0': not informal parameter list
EPD_E0213.C(21):错误 C244: 'P7M1': can'tinitialize, bad type or class
EPD_E0213.C(21):错误 C132: 'P7M1': not informal parameter list
EPD_E0213.C(21):错误 C141: syntax errornear '}'
EPD_E0213.C(21):错误 C141: syntax errornear '0'
EPD_E0213.C(22):错误 C231: 'P3M0':redefinition
EPD_E0213.C(22):错误 C231: 'P3M0':redefinition
EPD_E0213.C(23):错误 C231: 'P3M1':redefinition
EPD_E0213.C(23):错误 C231: 'P3M1':redefinition
EPD_E0213.C(25):错误 C231: 'EPD_SPI_Init':redefinition
EPD_E0213.C(27):错误 C141: syntax errornear '500'
EPD_E0213.C(29):错误 C231: 'EPD_HW_Init':redefinition
EPD_E0213.C(30):错误 C231:'EPD_WhiteScreen_White': redefinition
EPD_E0213.C(31):错误 C141: syntax errornear '2000'
EPD_E0213.C(36):错误 C231: 'EPD_HW_Init':redefinition
EPD_E0213.C(39):错误 C231: 'Deep_Sleep':redefinition
EPD_E0213.C(42):错误 C141: syntax errornear 'while'
EPD_E0213.C(42):错误 C141: syntax errornear '1'
编译 EPD.c ...
DELAY.H(7): 错误 C132: '_delay_ms': not in formal parameterlist
目标未产生
看着这些提示直接懵掉了,提示中指出的那些函数都是一些最常用的底层函数绝无问题的,而一些相关头文件内容的提示也不该有错,就在无计可施时突然想起来上次关闭软件之前曾在EPD.h文件中声明了一个新函数:void EPD_Dis_Part(u16 x_start,u16 y_start,u16 datas,u16 PART_COLUMN,u16 PART_LINE);匆忙间有没有加“;”呢?
打开EPD.h找到这个函数,果然缺少了“;”,就因为缺少这一个分号就触发了如此多的莫名其妙的错误提示,真是很诡异的事情。





发表于 前天 11:44 来自手机浏览器 | 显示全部楼层
我之前玩的时候经常遇到这种报错…
回复 支持 反对

使用道具 举报

发表于 前天 12:47 来自手机浏览器 | 显示全部楼层
一步错,步步错,不用奇怪……有回也少了个";",结果提示void语法错误,找半天。
回复 支持 反对

使用道具 举报

发表于 前天 13:02 | 显示全部楼层
直接给我弄不会了
回复 支持 反对

使用道具 举报

发表于 前天 15:27 | 显示全部楼层
每编程几行就编译一次。细致、小心!即使是调试好的大程序,偶然弄掉一个分号或其它一个符号,再编译可能会出现一大堆看不明白的错误!纠错都无从下手!
回复 支持 反对

使用道具 举报

 楼主| 发表于 前天 17:32 | 显示全部楼层
本帖最后由 慕名而来 于 2025-5-19 17:34 编辑
lgwd 发表于 2025-5-19 15:27
每编程几行就编译一次。细致、小心!即使是调试好的大程序,偶然弄掉一个分号或其它一个符号,再编译可能会 ...

我习惯模块化,一个C文件的代码也没多少行、错误提示也经常遇到,在C文件里的代码缺胳膊少腿时给出的错误提示大都靠谱些、有迹可循的,在h文件里出错很少出现而这次显示这些古怪的提示还是第一次碰到。勤编译确实能够避免很多问题,谢谢你的经验分享。
回复 支持 反对

使用道具 举报

 楼主| 发表于 前天 17:42 | 显示全部楼层
触景情伤 发表于 2025-5-19 11:44
我之前玩的时候经常遇到这种报错…

写代码编译报错也是再正常不过的了,这次出错的提示真的挺唬人的。
回复 支持 反对

使用道具 举报

发表于 前天 21:06 来自手机浏览器 | 显示全部楼层
慕名而来 发表于 2025-5-19 17:42
写代码编译报错也是再正常不过的了,这次出错的提示真的挺唬人的。

好歹可以解决了…我有时候只能绕道…
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-21 08:40 , Processed in 0.156001 second(s), 10 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表