[an error occurred while processing this directive]
|
При косвенном управление важно !
1) Читать - писать кристалл в режиме запр. прерываний, если CS может изменяться (как например в 80186, при чтении записи командой IN, OUT)
2) Зловредный регистр Cx_ISR - при чтении этого регистра он сбрасывается. Таким образом, его необходимо читать 1 !!! раз при заходе в прерывание, и, до возникновения следующего в нем инфа уже отсутсвует (по крайней мере, у меня именно так, кстати режим косвенный).
3) Был такой баг - у меня 80186, на 50 Мгц, пришлось подбирать WAIT STATE, а то слишком шустро читал - писал, данные терялись ...
Рекомендую: Взять 10 Мб хаб, на него повесить девайс вместе с компом. На комп поставить снифер типа CommView. При отправке команды на передачу вы должны увидеть ICMP пакет туда и обратно, затем UDP. Если визнет не увидит ICMP от удаленного, то он повторяет отправку используя динамический таймаут. Если ICMP все - таки не приходит, то визнет закрывает сокет - тоесть генерит прерывание, а в ISR - стоит сразу несколько бит "Таймау, Передача ОК, Закрыт". Вам обязательно надо выяснить проходит - ли ICMP пакет ! И еще
Есть один баг от "Билли". ОБЯЗАТЕЛЬНО, MAC адрес визнета должен начинаться с "00: ....". Иначе .... нифига не будет
E-mail: info@telesys.ru