Jeżeli to NT+, to system do portów nie dopuszcza programów użytkowych, trzeba mieć driver np. GiveIO (http://www.geocities.com/Miroslaw_Maczka/winnt/), a potem po prostu in i out instrukcje maszynowe...
Niestety, moje doświadczenia są poniekąd odwrotne, przerabiałem tylko programator do Atmeli (Spider Brain) z Win9x tak, by chodził pod NT. Poszukaj po forum, były tu jakieś przykłady. Jeżeli kompilator ma funkcje inp i out, to nie będzie problemów.
Nie wiem czemu utrudniasz sobie zycie.
Wyslanie bajtu to wyslanie jednej litery ASCII.
Wiec zaloz sobie driver Generic Text i kopiuj do niego litera po literze np type a > lpt1:
Powinno chodzic pod 98, a zeby chodzilo pod XP nalezy doinstalowac driver odblokowujacy porty (chodzi o te wstawki asemblerowe) - gdzies na elektrodzie sie paletal, ale jak na zlosc nie pamietam nazwy (chyba cos w rodzaju userport) - poszukaj na forum programowania mikrokontrolerow - tam powinno byc
Dyskusja dotyczy sposobu wystawienia bajtu na porcie LPT w systemie Windows 98 przy użyciu WinAPI i asemblera w C++. Podkreślono, że na systemach NT (np. Windows XP) dostęp do portów jest zablokowany dla aplikacji użytkowych i wymaga sterownika odblokowującego, np. GiveIO lub userport. W Windows 98 bezpośredni dostęp do portu LPT (adres 0x378) jest możliwy poprzez instrukcje asemblerowe inp i out. Przykładowy kod w C++ wykorzystuje dyrektywę __asm do wysłania bajtu (typu char) na port LPT. Zwrócono uwagę, że zmienna z danymi musi być 8-bitowa (char), aby uniknąć błędu operand size conflict. Podano prosty przykład funkcji zapisz(char dana), która wysyła bajt na port 0x378. Wskazano również alternatywne metody, jak użycie sterownika Generic Text i kopiowanie danych do lpt1: za pomocą polecenia typu "type a > lpt1:". Dyskusja kończy się potwierdzeniem działania rozwiązania pod Windows 98. Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.