有关单片机串口,求帮助
时间:10-02
整理:3721RD
点击:
哪位大侠知道求帮助,谢谢!
题目:在上位机商用串口调试助手发送一个字符X,单片机收到后返回给上位机“I get X”,串口波特率设为9600bps,
我是按书上(郭天祥的书)输入的程序,运行时显示重定义如下:
compiling liwai.c...
LIWAI.C(7): error C141: syntax error near '{'
LIWAI.C(8): error C231: 'TMOD': redefinition
LIWAI.C(8): error C231: 'TMOD': redefinition
LIWAI.C(9): error C231: 'TH1': redefinition
LIWAI.C(9): error C231: 'TH1': redefinition
LIWAI.C(10): error C231: 'TL1': redefinition
LIWAI.C(10): error C231: 'TL1': redefinition
LIWAI.C(11): error C231: 'TR1': redefinition
LIWAI.C(11): error C231: 'TR1': redefinition
LIWAI.C(12): error C231: 'REN': redefinition
LIWAI.C(12): error C231: 'REN': redefinition
LIWAI.C(13): error C231: 'SM0': redefinition
LIWAI.C(13): error C231: 'SM0': redefinition
LIWAI.C(14): error C231: 'SM1': redefinition
LIWAI.C(14): error C231: 'SM1': redefinition
LIWAI.C(15): error C129: missing ';' before '+'
liwai.c - 16 Error(s), 0 Warning(s).
源程序如下:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar flag,a,i;
uchar code table[]="I get";
void init();
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA+1;
ES=1;
}
void main()
{
init();
while(1)
{
if(flag==1)
{
ES=0;
for(i=0;i<6;i++)
{
SBUF=table;
while(!TI);
TI=0;
}
SBUF=table;
while(!TI);
TI=0;
ES=1;
flag=0;
}
}
}
void ser() interrupt 4
{
RI=0;
a=SBUF;
flag=1;
}
题目:在上位机商用串口调试助手发送一个字符X,单片机收到后返回给上位机“I get X”,串口波特率设为9600bps,
我是按书上(郭天祥的书)输入的程序,运行时显示重定义如下:
compiling liwai.c...
LIWAI.C(7): error C141: syntax error near '{'
LIWAI.C(8): error C231: 'TMOD': redefinition
LIWAI.C(8): error C231: 'TMOD': redefinition
LIWAI.C(9): error C231: 'TH1': redefinition
LIWAI.C(9): error C231: 'TH1': redefinition
LIWAI.C(10): error C231: 'TL1': redefinition
LIWAI.C(10): error C231: 'TL1': redefinition
LIWAI.C(11): error C231: 'TR1': redefinition
LIWAI.C(11): error C231: 'TR1': redefinition
LIWAI.C(12): error C231: 'REN': redefinition
LIWAI.C(12): error C231: 'REN': redefinition
LIWAI.C(13): error C231: 'SM0': redefinition
LIWAI.C(13): error C231: 'SM0': redefinition
LIWAI.C(14): error C231: 'SM1': redefinition
LIWAI.C(14): error C231: 'SM1': redefinition
LIWAI.C(15): error C129: missing ';' before '+'
liwai.c - 16 Error(s), 0 Warning(s).
源程序如下:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar flag,a,i;
uchar code table[]="I get";
void init();
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA+1;
ES=1;
}
void main()
{
init();
while(1)
{
if(flag==1)
{
ES=0;
for(i=0;i<6;i++)
{
SBUF=table;
while(!TI);
TI=0;
}
SBUF=table;
while(!TI);
TI=0;
ES=1;
flag=0;
}
}
}
void ser() interrupt 4
{
RI=0;
a=SBUF;
flag=1;
}
你看他提示就知道了啊,void init();这个函数后面多了分号”;“,去掉。
例外EA+1;这个语句也写错了。
谢谢了,我太粗心了