利用单片机的串口通过无线模块向外发射一组数据,无线模块可以接收数据并传给单片机,但是单片机串口通过无线模块发射的数据却不能被与笔记本相连的无线模块接收到,应该怎么办才好?const uchar data0[]="0x00 0x00 0x50 0xAA";
const uchar data1[]="0x00 0x00 0x50 0xBB";
# pragma code InterruptVectorHigh=0x08
void InterruptVectorHigh(void)
{
_asm
goto recdata
_endasm
}
# pragma code
# pragma interrupt recdata
void recdata()
{
if(PIE1bits.RCIE&&PIR1bits.RCIF)
{
uint i;
if(RCREG==0xAA) //测试接收端是否正常
{
PORTCbits.RC4=0;
PORTCbits.RC5=0;
PORTCbits.RC1=1;
for(i=0;i<=100;i++)
{
TXREG=data0[i]; //将接收到的数据0xAA回传
}
delay();
PORTCbits.RC1=0;
PORTCbits.RC4=1;
PORTCbits.RC5=1;
}
else if(RCREG==0xBB) //如果测试正常,发送数据0xBB,并产生相应的动作
{
PORTCbits.RC4=0;
PORTCbits.RC5=0;
PORTCbits.RC1=1;
PORTCbits.RC0=1;
for(i=0;i<=100;i++)
{
TXREG=data1[i]; //将接收到的数据0xBB回传
}
delay();
PORTCbits.RC4=1;
PORTCbits.RC5=1;
delay1s();
PORTCbits.RC0=0;
PORTCbits.RC1=0;
}
while(!TXSTAbits.TRMT);
}
|