找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6681|回复: 2
打印 上一主题 下一主题
收起左侧

Keil编译错误error C231: 'key1': redefinition 目标未创建

[复制链接]
跳转到指定楼层
楼主
ID:758400 发表于 2020-5-22 15:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>
void delay()
{
TH1 = 0xd8;
TL1 = 0xF0;
TR1 = 1;
while(!TF1);
TF1 = 0;
}

void main()
{
unsigned char i;
TMOD = 0x10;
P1 = 0xff;
i = 0;
while(1)
{
while(i==0)
{
  i = ~P2;
}
delay();
do
{
  i = P2;
  i = ~i;
}
while(i==0);
switch(i)
{
  case 0x01:key1();break;
  case 0x02:key2();break;
  case 0x04:key3();break;
  case 0x08:key4();break;
  case 0x10:key5();break;
  case 0x20:key6();break;
  case 0x40:key7();break;
  case 0x80:key8();break;
  default:break;
}
}
}
void key1()
{
P0 = 0xfe;
}
void key2()
{
P0 = 0xfd;
}
void key3()
{
P0 = 0xfb;
}
void key4()
{
P0 = 0xf7;
}
void key5()
{
P0 = 0xef;
}
void key6()
{
P0 = 0xdf;
}
void key7()
{
P0 = 0xbf;
}
void key8()
{
P0 = 0x7f;
}
1.C(32): warning C206: 'key1': missing function-prototype
1.C(33): warning C206: 'key2': missing function-prototype
1.C(34): warning C206: 'key3': missing function-prototype
1.C(35): warning C206: 'key4': missing function-prototype
1.C(36): warning C206: 'key5': missing function-prototype
1.C(37): warning C206: 'key6': missing function-prototype
1.C(38): warning C206: 'key7': missing function-prototype
1.C(39): warning C206: 'key8': missing function-prototype
1.C(45): error C231: 'key1': redefinition
1.C(47): error C231: 'key1': redefinition
1.C(49): error C231: 'key2': redefinition
1.C(51): error C231: 'key2': redefinition
1.C(53): error C231: 'key3': redefinition
1.C(55): error C231: 'key3': redefinition
1.C(57): error C231: 'key4': redefinition
1.C(59): error C231: 'key4': redefinition
1.C(61): error C231: 'key5': redefinition
1.C(63): error C231: 'key5': redefinition
1.C(65): error C231: 'key6': redefinition
1.C(67): error C231: 'key6': redefinition
1.C(69): error C231: 'key7': redefinition
1.C(71): error C231: 'key7': redefinition
1.C(73): error C231: 'key8': redefinition
1.C(75): error C231: 'key8': redefinition
目标未创建

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:369330 发表于 2020-5-22 17:31 | 只看该作者
因为你的函数没有声明,在主函数后面写的一定要加声明
回复

使用道具 举报

板凳
ID:267719 发表于 2020-5-22 17:32 | 只看该作者
C在使用函数之前必须先声明。
你有两种办法:
方法一:
在#include<reg51.h>之后先声明函数:
void key1();



void key8();

注意需要分号

方法二:
把函数
void key1()
{


}



void key8()
{
}
这些写在调用函数main()之前。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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