Цитата(Сергей Борщ @ Feb 25 2014, 09:26)

Код 0xF8 очень похож на 0xFC сдвинутый на один бит влево. Возможно какая-то проблема в синхронизации? Не по тому фронту читаете? Дребезг на фронтах захватываете? В общем я бы вывел принимаемый бит на свободную ногу порта, зарядил в цикле команду сброса и осциллографом сравнивал все три сигнала (такт, данные и принятые данные) с учебником.
Прерывание одно и то же, программа одна и та же.
CODE
// 0xFF - Сброс - 3 раза
st = P_PS2_Mouse_Send ( PS2_MOUSE_CMD_RESET );
P_PS2_Mouse_Timeout_RX ( 50000 ); // checks PS2_MOUSE_VAR.receive_code
P_PS2_Mouse_Timeout_RX ( 50000 );
P_PS2_Mouse_Timeout_RX ( 50000 );
st = P_PS2_Mouse_Send ( PS2_MOUSE_CMD_RESET );
P_PS2_Mouse_Timeout_RX ( 50000 );
P_PS2_Mouse_Timeout_RX ( 50000 );
P_PS2_Mouse_Timeout_RX ( 50000 );
st = P_PS2_Mouse_Send ( PS2_MOUSE_CMD_RESET );
P_PS2_Mouse_Timeout_RX ( 50000 );
P_PS2_Mouse_Timeout_RX ( 50000 );
P_PS2_Mouse_Timeout_RX ( 50000 );
PS2_MOUSE_VAR.receive_code - принятый из мыши байт. Первый раз там 0xFA - это правильно. 2 и 3-й - бред.
Проверю, может где-то у немца какие-то флажки не сбрасываются ...
Кстати, проверил его оригинальный драйвер на работающей мыше - инициализация проходит только один раз.
Далее лезет тот самый 0xF8.
Цитата(megajohn @ Feb 25 2014, 10:10)

в порядке бреда предложу посмотреть частоту синхроимпульса при работе от компа.
Можно .. Когда исчерпаю другие варианты - проверю ..
Придётся спаять некий "переходник" для доступа к контактам.
А кстати, DATA и CLK подтягивать резюками к +5в надо?
У меня сейчас не подтянуто. Идут непосредственно на процессор.
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда