#1楼主:cc1110发送程序,发不出第二个字节?
文章发表于:2008-05-13 03:34
BYTE halRfSendPacket(BYTE* pData, BYTE length){
BYTE i = 0x00;
if(length == 0)
{
return 0;
}
// Turning on radio and writing data including length;
RFTXRXIF = 0;
//INT_ENABLE(INUM_RFTXRX, INT_OFF);
RFTXRXIE="0";
RFIF &= ~0x10;//IRQ_DONE;
//debug:
//PKTCTRL0 |= 0x20;
//STX();
RFST="0X03";
while(RFTXRXIF == 0);
RFTXRXIF = 0;
RFD = length;
// Inserting data
for(i = 0 ; i < length ; i++){
while(RFTXRXIF == 0); //问题出在于,当i=1时(发送第2个字节时),程序跳不出这个循环
RFTXRXIF = 0;
RFD = pData[i];
}
// Waitting for transmission to finish
while(!(RFIF & 0x10/*IRQ_DONE*/));
RFIF &= ~0x10;//IRQ_DONE;
return i;
}
这个程序,是首先发送数据长度字节,然后发送数据,我单步调试时,RFD = length;这个可以发送,
但进入那个for循环时,可以发送RFD = pData[0],然后i=1,程序就停止在while(RFTXRXIF == 0);
跳不出,发不了第二个字节,需要配置的寄存器我都写上面了,不知还需要配置哪些,写过这方面
的程序,帮忙看下怎么写配置,谢谢各位了。