这是我在做一个基于串口做的无线收发程序,希望对你有帮助.
发:
void SerialPort_Init(void)//serialport setting for the interupt,8 data bits,1 stop bit,no check bit
{
TMOD=0x20; //timer1, work in mode 2
TH1=0xFD; //bandrate:9600
TL1=0xFD;
SCON=0x40; // serial port set in mode 1:10bits baund rate defined by timer
PCON=0x00; // sinle frequence
IE=0x90; // EA=0; enable serial port interrupt
TR1=1; //start timer1
}
void Send_Char(uchar serial_char)
{
TI =0 ;
SBUF =serial_char;
while(TI==0);
TI =0 ;
delayms(1);
}
收:
void SerialPort_Init(void)//serialport setting for the interupt,8 data bits,1 stop bit,no check bit
{
TMOD=0x20; //timer1, work in mode 2
TH1=0xFD; //bandrate:9600
TL1=0xFD;
SCON=0x50; // serial port set in mode 1:10bits baund rate defined by timer
PCON=0x00; // sinle frequence
IE=0x90; // EA=0; enable serial port interrupt
TR1=1; //start timer1
}
void Seria_Int() interrupt 4 using 2
{
/*P0 = SBUF;
P1 = 0;
RI = 0; */
if(ser_flag==0)
{
ES = 0;
tmp = SBUF;
RI = 0;
//beep = ~beep;
if (tmp == 0x99)
ser_flag = 1;
P0 = tmp;
ES = 1;
}
else if (ser_flag == 1)
{
ES = 0;
serial_char = SBUF;
RI = 0;
beep = ~beep;
ser_flag = 0;
ES = 1;
}
}
其中有握手信号,LZ觉得没用可以删了它