微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 有关单片机串口,求帮助

有关单片机串口,求帮助

时间: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;
}

你看他提示就知道了啊,void init();这个函数后面多了分号”;“,去掉。
例外EA+1;这个语句也写错了。

谢谢了,我太粗心了

上一篇:MSCAN标识符
下一篇:SOT363单片机

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

网站地图

Top