sterowanie lpt i mostek H

0

witam, mam taki maly problemik: chce sterowac mostkiem H przez port lpt. Mam juz zrobiony mostek ktorego kazdy tranzysto sterowany jest z osobnego pinu lpt. sekwencje przelaczania zrobilem sobie taka 1010 =>> 0101. uzywam biblioteki inpout32.dll. niestety przelaczajac w tej sekwencji wlaczaja mi sie oba tranzysory i robia zwarcie. chcialem zastosowac taki myk: 1010 =>> 0000 =>> 0101 =>> 0000 i tak w kolo. Problem polega na tym ze wystawiajac OutPort(0x378,0x0A) a nastepnie OutPort(0x378,0x00) program wykonuje tylko druga komende pomijajac pierwsza.

teraz pytanie: czy istnieje w c++ instrukcja w rodzaju wait lub co zrobic aby te dwie komendy wystepujace po sobie wykonywaly sie?

0

A nie możesz sprawdzić czy wyjście zmieniło stan poprzez odczyt portu zanim wyślesz następny bajt ?
Ewent lpt ma też wejścia które można użyć jako sprzężenia zwrotnego z układu i przesłać
informacje o stanie do programu .

0

mam taki programik lptmonitor w ktorym mam podglad na stany portow i w pracy krokowej widze ze nie wykonuje mi pierwszego z dwoch outport-ow

0

dzejo nie miał na mysli, żebyś TY sprawdzał czy lampki monitora lpt sie zmienią, tylko, żeyb Twoj program działał tak:

ustaw na 378h 0Ah
siedz w miejscu i sprawdzaj stan zwrotny tak dlugo az na 378h zauwazysz ze stan sie zmienil
ustaw na 378h 00h
siedz w miejscu i sprawdzaj stan zwrotny tak dlugo az na 378h zauwazysz ze stan sie zmienil

to, ze outport zostal wykonany, nie znaczy, ze "komenda doleciała" na piny portu, i ze piny portu faktycznie zdążyły zmienic stan zanim następny output został wykonany i nadpisał stan docelowy zerami.

co do "wait" - nie wiem o jakie czekanie Ci chodzi, ale jezeli nie chce Ci sie tego pisac w sposob jak wyzej, to są na windzie i linuksie funkcje "usypiające wątek" na zadany czas - Sleep, sleep usleep i nanosleep, w zaleznosci ile czasu chcesz przespac, wiec:

ustaw na 378h 0Ah
usleep(125)
ustaw na 378h 00h
usleep(125)

tym wymusisz aby "odczekac" 125us pomiedzy zmianami stanow portow, mozna raczej zalozyc ze raczej LPT zdazy zareagowac... ale gwarancji nie masz, heh. poza tym to zabawa w sapera.

1 użytkowników online, w tym zalogowanych: 0, gości: 1