找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机Keil C程序修改传入子函数的参数形式出现致命错误,请大佬解释

查看数: 5102 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-10-1 18:40

正文摘要:

今天写程序时遇到一个不能理解的语法错误, 编译时显示致命错误, 请问各位大神是什么原因呢 报错如下: compiling mian.c... C51 FATAL-ERROR -   ACTION:     GOBAL ...

回复

ID:406159 发表于 2018-10-7 16:08
很不错我的也有这个问题看了之后解决了有用
ID:294657 发表于 2018-10-6 18:40
sxhwdz 发表于 2018-10-2 16:21
经过实验,只要把 delay 函数的变量改成 uchar 也是可以通过的
void delay(uchar xms)
{

定义的时候定义成无符号字符型也可以赋值,并通过了
ID:294657 发表于 2018-10-6 18:31
psuxaog 发表于 2018-10-5 23:00
你的dat形参是8位的,而你定义这几个变量都是int的,而且还加了个0x30很容易溢出,最后发现在屏蔽ge那行或 ...

好的,谢谢您的提醒,确实存在容易溢出的问题,我以后会汲取这样的教训的的
ID:405708 发表于 2018-10-5 23:00
你的dat形参是8位的,而你定义这几个变量都是int的,而且还加了个0x30很容易溢出,最后发现在屏蔽ge那行或把ge等于0去掉会编译通过,具体原因未知,但要把你的程序整理一下,你的程序风格不好,很不严谨,不方便维护。
ID:387733 发表于 2018-10-2 16:21
经过实验,只要把 delay 函数的变量改成 uchar 也是可以通过的
void delay(uchar xms)
{
uchar i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
ID:387733 发表于 2018-10-1 20:29
把优化级别降到6级及6级以下就能通过了

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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