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++);
} 展开
#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++);
} 展开
1个回答
展开全部
前面子函数定义的那里写错了吧 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 广告
2024-11-19 广告
启帆信息是英伟达中国区代理商,原厂授权代理,提供全面的软件技术解决方案以及NVIDIA以太网产品、交换机等产品,欢迎前来咨询!...
点击进入详情页
本回答由启帆信息提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询