Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: TX буффер в W3100A
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам
LeoLabs
Передаю данные от девайса к компу, но возникают проблемы при передаче более 8кБ (размер буффера).

Код
p=GetP(WN_C0_TA_PR);//&0x1fff;
i=0;
while(cnt--)
{
  WN_TX_BUFF[p]=buff[i++];
  p=(p+1)&0x1fff;//0x1fff
}
SetP(WN_C0_TW_PR,(unsigned int)p);
WNCmd(WC_SEND);


т.е. такое впечатление что в жабе буффер аппаратно не "закольцован". Может это баг?
KRS
Цитата(LeoLabs @ Oct 30 2006, 08:47) *
Передаю данные от девайса к компу, но возникают проблемы при передаче более 8кБ (размер буффера).

Код
p=GetP(WN_C0_TA_PR);//&0x1fff;
i=0;
while(cnt--)
{
  WN_TX_BUFF[p]=buff[i++];
  p=(p+1)&0x1fff;//0x1fff
}
SetP(WN_C0_TW_PR,(unsigned int)p);
WNCmd(WC_SEND);


т.е. такое впечатление что в жабе буффер аппаратно не "закольцован". Может это баг?


Буфер закольцован!
но там интерфейс кривой
так нельзя записывать адрес перед отправкой!
SetP(WN_C0_TW_PR,(unsigned int)p);

надо записывать исходный + длина
Код
p=GetP(WN_C0_TA_PR);//&0x1fff;
last=p;
len=cnt;

.....

SetP(WN_C0_TW_PR,last+len);


т.е если вы перешли через границу писать то надо с адреса 0 и т.д.
а вот в указатель записывать уже значение больше 8192....
покрайней мере так в 3150
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.