雄飞 发表于 2014-9-4 08:31

两个单片机之间的通信

#include<reg52.h>//发射方
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0x01,0x01,0x04,0x08,0x10,0x20,0x40,0x80};
uchar sum;
void init()
{
        TMOD=0x20;
        TH1=0xfd;
        TL1=0xfd;
        TR1=1;
        SM0=0;
        SM1=1;
        EA=1;
        ES=1;
}
void delay(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}       
void main()
{
        uchar num;
        init();
        while(1)
        {
                for(num=0;num<8;num++)
                {
                        SBUF=table;
                        sum+=table;
                        while(!TI);
                        TI=0;
                        delay(100);
                }
                SBUF=sum;
                while(!TI);
                TI=0;
                delay(100);                               
        }
}
这个程序为什么发不出去sum这个变量啊

z00 发表于 2014-9-4 09:29

sum没有赋初值 如果没发过去 多发一个字节

旭日东起 发表于 2014-9-4 09:32

串口通信 ,网上例子多,回去好好研究一下

雄飞 发表于 2014-9-4 10:32

z00 发表于 2014-9-4 09:29 static/image/common/back.gif
sum没有赋初值 如果没发过去 多发一个字节

赋初值了,还是没有收到啊
页: [1]
查看完整版本: 两个单片机之间的通信