Цитата(Itch @ Jan 5 2007, 21:29)

Попробуйте для начала работать с сокетом 0, вполне возможно что вы напутали с масками для адресов.
В процедуре отправки 3 байт вы S1_TX_WR на 3 увеличить не забываете?
Да. Вопрос немного меняется. Нулевой сокет действительно работает. Но я лиш подменяю в коде название с S1 на S0. Регистр увеличиваю как сказано в даташите. Теперь вопрос почему не работают как положено сокеты 1 - 3. Размеры сокетов для чистоты эксперимента взял пока по 2 Кб (как в даташите опять же). Все адреса в заголовочном файле не раз проверил, всё верно. Работает только сокет 0

И, как я понял из написанного Вами, если на сокете 0 всё заработает, то путаница с масками. А по мануалю маска вроде для каждого сокета одна и является константой. конкретно для случая, когда все сокеты по 2 Кб она равна 2048-1. Или я что-то недопонял?
Вот кусок кода:
gS0_TX_BASE = 0x4000;
gS0_TX_MASK = 0x7FF;
gS1_TX_BASE = gS0_TX_BASE+(gS0_TX_MASK+1);
gS1_TX_MASK = 0x7FF;
gS2_TX_BASE = gS1_TX_BASE+(gS1_TX_MASK+1);
gS2_TX_MASK = 0x7FF;
gS3_TX_BASE = gS2_TX_BASE+(gS2_TX_MASK+1);
gS3_TX_MASK = 0x7FF;