Здравствуйте, x64, Вы писали:
I_>>Вот результаты:
x64>Надо было сразу написать, что SmBatt_SerialPortWrite() вызываешь из DPC. x64>DPC выполняются на DISPATCH_LEVEL, а там ждать нельзя (например, вызовом KeWaitForSingleObject). x64>Другими словами, этот вызов у тебя должен быть асинхронным (а результат будет в функции завершения).
Закоментил старт таймера и оно записало в порт, бесперебойник пикнул (наконец то! — команда диагностики до него дошла)
Я подозревал что какая то мелочь всё портит, но думал что там что то с директ_ио/буфферед_ио.