微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 这是什么情况?提示我一堆的重复定义?

这是什么情况?提示我一堆的重复定义?

时间:10-02 整理:3721RD 点击:
这是LCD1602的显示程序,为何我觉得没有什么重复定义的错误,而系统提示有很多呢,问题在哪里?请明示
程序如下:
#include<reg52.h>
sbit RW=P3^6;
sbit RS=P3^5;
sbit LCDen=P3^4;
unsigned char table1[]="I love you!";
unsigned char table2[]="why left me"
void delayms(unsigned int t)
{
t*=100;
while(t--);
}
void Write_command(unsigned char cmd)
{
RS=0;
RW=0;
P0=cmd;
delayms();
LCDen=1;
delayms(10);
LCDen=0;
}
void Write_data(unsigned char dat)
{
RS=1;
RW=0;
P0=dat;
delayms(5);
LCDen=1;
delayms(10);
LCDen=0;
}
void LCDint()
{
LCDen=0;
Write_command(0x38);
Write_command(0x0f);
Write_command(0x06);
Write_command(0x01);
}
void main()
{
int i,j;
LCDint();
Write_command(0x80);
for(i=0;i<11;i++)
{
  Write_data[table1[i]];
  delayms(7);
}
Write_command(0x80+0x40);
  for(j=0;j<11;j++)
{
  Write_data[table2[j]];
  delayms(7);
}
while(1);
}
错误提示如下:
Build target 'Target 1'
compiling lcd1602.c...
LCD1602.C(10): error C141: syntax error near 'void'
LCD1602.C(11): error C141: syntax error near '{'
LCD1602.C(17): error C141: syntax error near '{'
LCD1602.C(18): error C231: 'RS': redefinition
LCD1602.C(18): error C231: 'RS': redefinition
LCD1602.C(19): error C231: 'RW': redefinition
LCD1602.C(19): error C231: 'RW': redefinition
LCD1602.C(20): error C231: 'P0': redefinition
LCD1602.C(20): error C202: 'cmd': undefined identifier
LCD1602.C(20): error C231: 'P0': redefinition
LCD1602.C(22): error C231: 'LCDen': redefinition
LCD1602.C(22): error C231: 'LCDen': redefinition
LCD1602.C(23): error C141: syntax error near '10'
LCD1602.C(24): error C279: 'LCDen': multiple initialization
LCD1602.C(24): error C231: 'LCDen': redefinition
LCD1602.C(24): error C231: 'LCDen': redefinition
LCD1602.C(25): error C141: syntax error near '}'
LCD1602.C(32): error C267: 'delayms': requires ANSI-style prototype
Target not created
哪有什么重复定义啊,我怎么就找不到啊

unsigned char table2[]="why left me"   后面少个引号

少引号,如楼上所说。
delayms(); 这里没传递值。
Write_data[table1[i]];Write_data[table2[i]];这里的Write_data函数应该是小括号,即Write_data(table[i]);
暂时只发现这些问题,你再修改一下看看吧。

把楼上所说的地方的改了,从最前面的错误开始改,只需改一两个就好了,后面的错误是由于前的错误引起了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top