keil 重复定义问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keil 重复定义问题相关的知识,希望对你有一定的参考价值。

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
void delayms(unit);
void main()

uchar Lednember[]=0x3f,0x6f,0x5b;
uint i;
while(1)

P0=Lednember[i%3];
i++;
delayms(500);


void delayms(uint m)

uint n;
for(;m>0;m--)
for(n=110;n>0;n--);


这是错误检验报告,错在哪了,求大神指导~

你的警告是因为你的
void delayms(unit);
写错了,造成函数声明与函数定义不一样,括号里面应该写uint m而不是unit。其他的我编译了一下,没有你出现的错误。新建工程时,不需要添加自带的startup.a51文件。
参考技术A 检查项目里面是不是有多个c文件中都有main()函数。
检查项目是否正确添加了startup.a51文件。追问

不是他们的问题,解决了,谢谢!

参考技术B 104行在哪儿?是那行的错追问

解决了,谢谢!

keil为单片机定义管脚的时候可以重复定义吗?

可以的
通过keil里的sbit命令实现管脚重复定义的。但不建议这样定义,程序的可读性会差,不利于后期维护。
参考技术A 用keil里的sbit扩展命令定义管脚是可以重复定义的。也就是说一个管脚可以对应多个变量名的。因为编译时keil软件会直接把这个变量名替换成位地址。不过一般很少有人会这样用的,在程序里面容易引起误解。

以上是关于keil 重复定义问题的主要内容,如果未能解决你的问题,请参考以下文章

用keil软件编辑时,总提示函数重复定义是怎么回事

keil里有重复定义的错误,该怎么办?而且片子的所有口都是这样

使用keil编程常遇到c语言问题;main被重复定义了,如何破?

使用keil编程常遇到c语言问题;main被重复定义了,如何破?

keil2编51单片机程序c 指针赋值提示重复定义,怎么解决

keil软件错误总结.doc