Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Upravljanje LPT portom pomocu C++

[es] :: C/C++ programiranje :: Upravljanje LPT portom pomocu C++

[ Pregleda: 3591 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

lazar00

Član broj: 141543
Poruke: 54
*.teol.net.



+10 Profil

icon Upravljanje LPT portom pomocu C++26.04.2009. u 13:16 - pre 152 meseci
Zdravo !
Hteo bih da preko LPT porta upravljam elektro-motorom koji bi vrteo u jednu ili u drugu stranu ili bi mirovao sa osovinicom...
Da sumiram,ja bih preko lpt porta davao instrukcije motoru,koji bi vrsio neki posao.
Dakle,treba mi pomoc oko pisanja programa kojim cu moci da upravljam LPT portom,tj. njegovim pinovima...
Ako neko moze da mi da informaciju kako da napisem program ili da mi da upute i putanje gde da trazim bio bih mnogo zahvalan !
 
Odgovor na temu

kiklop74
Darko Miletić
Buenos Aires

Član broj: 78422
Poruke: 569
*.fibertel.com.ar.

Sajt: ar.linkedin.com/pub/darko..


+13 Profil

icon Re: Upravljanje LPT portom pomocu C++27.04.2009. u 19:58 - pre 152 meseci
http://logix4u.net/Legacy_Port...for_Windows_98/2000/NT/XP.html
Tko leti vrijedi
 
Odgovor na temu

lazar00

Član broj: 141543
Poruke: 54
*.teol.net.



+10 Profil

icon Re: Upravljanje LPT portom pomocu C++27.04.2009. u 22:11 - pre 152 meseci
moze li neko bolje resenje ?
 
Odgovor na temu

savkic
Igor Savkić

Član broj: 92186
Poruke: 2671



+76 Profil

icon Re: Upravljanje LPT portom pomocu C++28.04.2009. u 11:23 - pre 152 meseci
Zvaničan Windows API za rad sa LPT portom su CreateFile, ReadFile, WriteFile. Evo primera za slanje, doduše urađen Pascalu ali verujem da će ti dati ideju.

Code:

DirectPrint('C:\Tmp.dat', 'LPT1'); // Možda treba staviti "LPT1:".

procedure DirectPrint(const AFile, ADest: string);
var
  BytesWritten: DWORD;
  hPrinter: THandle;
  Source: TMemoryStream;
begin
  hPrinter := CreateFile(PChar(ADest), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0);

  if hPrinter = INVALID_HANDLE_VALUE then
    Exit;

  Source := TMemoryStream.Create;
  try
    Source.LoadFromFile(AFile);
    Source.Position := 0;
    WriteFile(hPrinter, Source.Memory^, Source.Size, BytesWritten, nil);
  finally
    Source.Free;
  end;

  CloseHandle(hPrinter);
end;

 
Odgovor na temu

madwolf
Milan Vukov
Leuven, Belgium

Član broj: 8409
Poruke: 51
*.etf.bg.ac.rs.



Profil

icon Re: Upravljanje LPT portom pomocu C++28.04.2009. u 14:41 - pre 152 meseci
Pazi, ja mislim da je ova biblioteka sasvim OK. Nisam radio, ali sam citao o njoj i pogledao source malo - koji je otvoren pa ako znas izvoli menjaj. E sad, druga prica je kako ces ti da gonis motor na Windowsu u realnom vremenu na 5ms 10 ms ili tako vec nesto. To je vec gimnastika. C++ - napravi wrapper oko dll funkcija. Kako si zamislio da gonis motor preko paralelnog? LPT -> energetika -> motor? Sa LPT da saljes pos. impulse i direction? Ili drugacije?

Pozdrav,
Milan.
 
Odgovor na temu

lazar00

Član broj: 141543
Poruke: 54
*.teol.net.



+10 Profil

icon Re: Upravljanje LPT portom pomocu C++28.04.2009. u 15:17 - pre 152 meseci
Mislio sam na lpt portu da setujem pin koji ce dati signal za pokretanje motora,a na drugom pinu lpt porta bi posmatrao br. obrtaja tog motora (pulse).Definisanjem br. okretaja (impulsa) kontrolisacu rad motora.
Motor bi bio pogonjen sopstvenim,nezavisnim napajanjem,a izmedju lpt-a i motora bi stavio odgovarajuci bufer.
Problem je u tome sto ne znam koja bibilioteka u c/c++ bi bila najpogodnija za ovakav pristup problemu.


P.S.Takodje molim ako imas/te neke linkove koji se bave upravljanjem externih uredjaja (motora,relea...),da postavite.

Pozdrav,Lazar
zzzzzzzzz
 
Odgovor na temu

madwolf
Milan Vukov
Leuven, Belgium

Član broj: 8409
Poruke: 51
*.etf.bg.ac.rs.



Profil

icon Re: Upravljanje LPT portom pomocu C++28.04.2009. u 18:10 - pre 152 meseci
Pokretanje: ON/OFF , 1/0? "a na drugom pinu lpt porta bi posmatrao br. obrtaja tog motora (pulse).Definisanjem br. okretaja (impulsa) kontrolisacu rad motora." molim te objasni mi kako si ovo smislio da izvedes... Kakav bafer nameravas da metnes? Da das strujni kapacitet ttl signalima? Iskreno, ne razumem te...

Pozdrav,
Milan.
 
Odgovor na temu

lazar00

Član broj: 141543
Poruke: 54
*.teol.net.



+10 Profil

icon Re: Upravljanje LPT portom pomocu C++29.04.2009. u 18:44 - pre 152 meseci
Lpt kotistim samo za upravljanje.Izmedju lpt i motora bih postavio neki bafer,tj. neki razdvojni stepen,koji bi jednostavno reagovao na signale iz lpt i na taj nacin upravljao radom motora.
Takodje zelio bih da iskoristim ulazne pinove lpt-a za kontrolu stanja (npr.izvrsenog broja obrtaja motora).

Znaci,lpt ne bi imao strujni nego samo signalni kapacitet,ako na to mislis.

Konkretno,najvise me interesuje koja biblioteka bi bila najpodesnija za ovakav pristup ovom problemu.

E sada,potrebna mi je pomoc oko pisanja programa kojim bi na moju komandu setovao jedan pin lpt-a sto bi kao rezultat imalo pokretanje motora,
dok se ne ispuni uslov po pitanju br. obrtaja,a koji bi signilazirao npr.mikro-prekidac na osovini motora koji je spojen na neki ulazni pin lpt-a.

Hvala ti u svakom slucaju sto se trudis da mi pomognes !

Pozdrav,Lazar !
zzzzzzzzzzzzzzzz
 
Odgovor na temu

peromalosutra
Ivan Rajkovic
Software engineer
Luxoft
Berlin

Član broj: 54774
Poruke: 850
94.250.33.*



+144 Profil

icon Re: Upravljanje LPT portom pomocu C++08.05.2009. u 09:23 - pre 151 meseci
Nigdje nisi rekao koji operativni sistem koristis. Na Linuxu je ovo prilicno jednostavno, nakon ukljucivanja odgovarajuce biblioteke, koristis samo funkciju outb() koja postavlja 8 izlaznih data pinova u skladu sa binarnom reprezentacijom prosledjenog broja, znaci pitanje je jedne linije koda. :) Za ulaz takodje postoji funkcija inb(), ali sa ovim se nisam igrao. Ja sam radio nesto slicno sa LED diodama, mozes pogledati na mom sajtu kako je odradjeno ( http://computer-stuff.freehostia.com/index.php?id=26&m= ).
 
Odgovor na temu

lazar00

Član broj: 141543
Poruke: 54
*.teol.net.



+10 Profil

icon Re: Upravljanje LPT portom pomocu C++08.05.2009. u 12:25 - pre 151 meseci
koristim i linux i windows,sve zavisi sta mi treba...

a mislio sam da napravim aplikaciju koja ce moci da radi pod bilo kojim OS-om...


cilj mi je da naucim da upravljam portovima...

pogledacu sajt,pa ti se javim!

hvala puno

lazar

zzzzz
 
Odgovor na temu

zaraza

Član broj: 19938
Poruke: 1139
195.178.53.*



+4 Profil

icon Re: Upravljanje LPT portom pomocu C++08.05.2009. u 12:40 - pre 151 meseci
Citat:
koristis samo funkciju outb() koja postavlja 8 izlaznih data pinova u skladu sa binarnom reprezentacijom prosledjenog broja


Ovu funkciju sam koristio na Win98 i radi kako treba. Za XP ne znam, od tada se nisam bavio time.
 
Odgovor na temu

madwolf
Milan Vukov
Leuven, Belgium

Član broj: 8409
Poruke: 51
*.etf.bg.ac.rs.



Profil

icon Re: Upravljanje LPT portom pomocu C++08.05.2009. u 13:36 - pre 151 meseci
Citat:
zaraza: Ovu funkciju sam koristio na Win98 i radi kako treba. Za XP ne znam, od tada se nisam bavio time.


Da, na Win98 ovo radi, jer kod njega iz User moda mozes da pristupis portovima... WinXP to ne da. Zato je jedan sef napisao biblioteku za WinXP, koja se pominje par mejlova gore, inout32.dll ili nesto slicno...

Citat:
lazar00: Lpt kotistim samo za upravljanje.Izmedju lpt i motora bih postavio neki bafer,tj. neki razdvojni stepen,koji bi jednostavno reagovao na signale iz lpt i na taj nacin upravljao radom motora.
Takodje zelio bih da iskoristim ulazne pinove lpt-a za kontrolu stanja (npr.izvrsenog broja obrtaja motora).

Znaci,lpt ne bi imao strujni nego samo signalni kapacitet,ako na to mislis.

Konkretno,najvise me interesuje koja biblioteka bi bila najpodesnija za ovakav pristup ovom problemu.

E sada,potrebna mi je pomoc oko pisanja programa kojim bi na moju komandu setovao jedan pin lpt-a sto bi kao rezultat imalo pokretanje motora,
dok se ne ispuni uslov po pitanju br. obrtaja,a koji bi signilazirao npr.mikro-prekidac na osovini motora koji je spojen na neki ulazni pin lpt-a.

Hvala ti u svakom slucaju sto se trudis da mi pomognes !

Pozdrav,Lazar !
zzzzzzzzzzzzzzzz


Kakva ti je energetika? Sta je ulaz u nju? H-most ili nesto slozenije... ? Imas enkoder? Imas - treba ti brojac koji ce da broji impulse i na primer na svom izlazu da ima paralelni izlaz koji ce da ide na lpt nekako (ponovo ti treba dodatna logika). S druge strane, moguce je da ja razmisljam komplikovano :)
Lakse bi bilo kada bi malo detaljnije prvo opisao sta ti sve imas, kako si mislio da povezes delove, pa veza sa kompom itd. A ako hoces da vezbas LPT - diode su zakon :)

Pozdrav,
Milan.
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.ptt.rs.



+395 Profil

icon Re: Upravljanje LPT portom pomocu C++08.05.2009. u 13:46 - pre 151 meseci
@lazar00
Pogledaj ovde :http://www.codeproject.com/KB/system/PaPiC.aspx?display=Print
Wrapper klasa za rad sa LPT portom koja se oslanja na biblioteku logix4 ciji je link okacio @kiklop74 na pocetku teme .

Viva lollapalooza
 
Odgovor na temu

[es] :: C/C++ programiranje :: Upravljanje LPT portom pomocu C++

[ Pregleda: 3591 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.