Имею кодек и порт SSC1 at....9261.
Кодек работает мастером. SSC настраиваю, PDC настраиваю. Активизирую кодек. Начинает бегать счетчик PDC, вхожу в прерывания по ENDTX и ENDRX, обновляю next указатели и счетчики. Все просто замечательно. Мистика в одном.
Никаких данных реально никуда не передается. Хуже того. Прямой доступ приемника НЕ ИЗМЕНЯЕТ память. Указатели проверял вживую. Прямо из регистров PDC. Совпадают с нужными. Счетчики тикают с нужной скоростью. Т.е. полная имитация работы.
В любом случае, даже если порт работает неправильно и все сгорело, то прямой доступ ДОЛЖЕН портить память хоть как-то. Размещал буферы во всех типах памяти. Результат одинаковый.
Кроме прерываний ENDTX и ENDRX вздымаются еще два бита в регистре статуса SSC - это SYNTX и SYNRX. Они торчат всегда. Изчезают только тогда, когда я останавливаю мастер-кодек.
Почему прямой доступ тикает, но память по указателям прямого доступа не изменяется? Регистры matrix не трогал. Арбитраж стоит по умолчанию.
--------------------
On the road again (Canned Heat)
|