|
Не нужно использовать unsigned int GetRxLength (void). Лучше посмотреть kit8900v2.zip на emb.hut.ru или исходники порта для 8052 на www.opentcp.org.
Cначала узнаем, что пакет есть:
char GetRxEvent (void)
{
unsigned char lowbyte, highbyte;
// printf ("Get RX Event \n");
CSPPWrite (PPPtr, 0x24); CSPPWrite (PPPtrp1, 0x01);
highbyte=CSPPRead (PPDatap1); lowbyte=CSPPRead (PPData);
// if (highbyte > 0) printf ("\nRX Event %d %d\n",highbyte, lowbyte);
return highbyte;
}
А потом - прочитаем его и уложим в ОЗУ:
unsigned int FillRxBuf (unsigned char *RxPtr) //, unsigned char RxLength return RxLength;
E-mail:
info@telesys.ru
{
unsigned int RxLength;
unsigned char temp,rxwlen,lenh, lenl;
unsigned char i;
temp=CSPPRead (RxTxDatap1); //printf ("%2x ",temp);
temp=CSPPRead (RxTxData); //printf ("%2x \n",temp);
lenh=CSPPRead (RxTxDatap1); //printf ("%2x ",lenh);
lenl=CSPPRead (RxTxData); //printf ("%2x \n",lenl);
RxLength=(unsigned int)((lenh<<8)+lenl);
rxwlen=(RxLength>>1)+1;
for (i=0;i
*RxPtr++=CSPPRead (RxTxData);
*RxPtr++=CSPPRead (RxTxDatap1);
}
}
Ответы