KEIL生成目标文件时出现警告,什么原因?对生成的HEX文件在PROTEUS中仿真有影响吗?

#include<reg51.h>#include<intrins.h>#defineucharunsignedcharvoiddelay:ms(ucharms);voi... #include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
void delay :ms(uchar ms);
void main()
{
uchar led;
uchar i;
while(1)
{
led=0xfe;
for (i=0;i<7;i++)
{
p1=led;
delay_ms(100);
led=_crol_(led,1);
}
for (i=0; i<7;i++)
{
p1=led;
delay_ms(100);
led=_cror_(led,1);
}
}
}
void delay_ms(uchar ms)
{
uchar i;
while(ms--)
for (i=0;i<124;i++);
}
展开
 我来答
wubingqp
2012-04-30 · 超过22用户采纳过TA的回答
知道答主
回答量:70
采纳率:0%
帮助的人:54.8万
展开全部
前面子函数定义的那里写错了吧 void delay_ms(uchar ms) 你写成了void delay:ms(uchar ms)
更多追问追答
追问
这个错误发现了,但不是这个问题。后来删除了startup.a51,警告消失,但不原因。startup.a51是keil自动 添加的,据说纯C语言可以可以不要,如C混有汇编的话必须用。但有了它往往出错。http://zhidao.baidu.com/question/417487664.html?quesup2&oldq=1
追答
我把你这个程序编译了一下
for (i=0;i<7;i++)
{
p1=led;
delay_ms(100);
led=_crol_(led,1);
}
for (i=0; i<7;i++)
{
p1=led;
delay_ms(100);
led=_cror_(led,1);
}
把这里小写的p改成大写的P 这样没警告 没错误
Build target 'Target 1'
compiling 点灯.c...
linking...
Program Size: data=11.0 xdata=0 code=104
creating hex file from "点灯"...
"点灯" - 0 Error(s), 0 Warning(s).
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
启帆信息
2024-11-19 广告
启帆信息是英伟达中国区代理商,原厂授权代理,提供全面的软件技术解决方案以及NVIDIA以太网产品、交换机等产品,欢迎前来咨询!... 点击进入详情页
本回答由启帆信息提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式