Ответ: лучше так: (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено рin 11 октября 2003 г. 18:20
В ответ на: Ответ: отправлено olegk 11 октября 2003 г. 12:01

Не нужно использовать 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
{
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);
}

return RxLength;
}



Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru