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编程常遇到c语言问题;main被重复定义了,如何破?
使用keil编程常遇到c语言问题;main被重复定义了,如何破?