Ктонить программировал TSB43AA82A
(«Телесистемы»: Конференция 'Микроконтроллеры и их применение')

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

Отправлено alex03 17 сентября 2004 г. 09:51

Проблема с отправкой подряд нескальких пакетов через ATF.
Пока пакетов мало - всё ок!
Как только надо передать быстро много пакетов при заполнении очереди
похоже не работают флаги того что очередь полная и почти полная.


Сейчас уже модифицировал код до:

void waitATF()
{
// while((tsbRegAtfStatus & 0x80000000))
while((tsbRegAtfStatus & 0x40000000))
{
}
}

BYTE tsbSendPacket(BYTE nQSize)
{
register BYTE n;

waitATF();

nQSize--;
tsbRegWriteFirst = sendBuff.buff[0];
for(n=1; n {
waitATF();
tsbRegWriteContinue = sendBuff.buff[n];
}

waitATF();
tsbRegWriteUpdate = sendBuff.buff[nQSize];
return 1;
}

И получается что пакеты якобы всегда отправляются, а на самом деле
очередь впадает в какой-то клинч до сброса шины. А вот всё остальное
в микросхеме продолжает работать.

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

Ответы



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

E-mail: info@telesys.ru