спасибо за предложение Уважаемый defunct, я попробовал то, что Вы говорите, но вот тут снова проблема, если я сначала читаю RxEvent и потом RxStatus, то в RxStatus как и положено точное значение RxEvent, затем я EEPROM меги читаю принитый фрейм, причем тоже читается и считавается он через 2 байта. т.е. читается 2 байта как положено принятого фрейма потом пропуск 2 принятых байт снова 2 байта и т.д. И, что еще интересно читаю я не как написано с Resive/Transmit Data (Port 0) потом с Port 1 и снова Port0 и т.д., а читается с начала с адреса 0002h (Port1), потом 0001h (Port0), снова 0001h и 0000h. По другому если читаю 0001h потом 0000h, 0001h и т.д. считывает 0. Я запутался окончательно. Скорее всего я, что то упустил, может ошибка в алгоритме? Алгоритм следующий: 1. Инициализация CS8900 1.1 Сброс CS8900; 1.2 Установка MAC адреса CS8900; 2. Настройка приемника 2.1 В RxCTL устанавливаю биты Promiscuous, Broadcast, CRCerrorA, вобшем устанавливаю все биты что бы любой кадр был принят; 3. Разрешаю баботу приемника.
|