Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

LPT aansturen in winXP met C++

h4xX0r
9 antwoorden
  • Ik wil in winXP de uitgangen van de LPT-poort aansturen doormiddel van C++. Dit lukt echter niet.

    In windows 98 kan ik met onderstaande regel de uitgang D0 van de PT-poort opensturen (uiteraard wordt de _outp eerst gedeclareerd). In winXP werkt dit echter niet.

    _outp(0x378,1)

    Verder blijven de uitgangen van de LPT-poort in winXP ook hoog (dit controleer ik via een ledje) terwijl deze in win98 na het opstarten laag worden. Is dit normaal???

    Weet iemand hoe ik in winXP toch de uitgangen van de LPT-poort kan aansturen.

    Ik maak gebruik van Microsoft Visual studio.net
  • Windows XP heeft een ingebouwde beveiliging dat je niet zomaar hardware aan kan spreken. De LPT-poort valt daar ook onder.
    Hoe je hem toch aan moet sturen kan ik je niet vertellen. heb het nooit geprobeerd. De COMpoorten kun je wel zo aansturen.

    Ligt eraan wat je met de LPTpoort van plan bent, maar als het ook met de COMpoort kan is dat waarschijnlijk makkelijker om te doen.
  • Het is de bedoeling dat ik verschillende uitgangen kan aansturen.
    Is dit ook mogelijk met de COM-poort? zo ja hoe??
  • [quote:23113adf65="JCD2000"]Het is de bedoeling dat ik verschillende uitgangen kan aansturen.
    Is dit ook mogelijk met de COM-poort? zo ja hoe??[/quote:23113adf65]

    De LPTpoort werkt paralel en de COMpoort is serieel.
    Met de COMpoort kun je dus niet echt makkelijk verschillende uitgangen aansturen.

    Je zou eens uit kunnen zoeken hoe je die beveiliging kan omzeilen. Windows kennende moet dat wel te doen zijn. :)
  • Heb nog even voor je gezocht op Google:

    http://www.experts-exchange.com/Programming/Programming_Languages/Cplusplus/Q_20558594.html

    http://www.lvr.com/parport.htm
  • Bedankt voor de reacties, ik heb via de site www.lvr.com/parport.htm inderdaad een aantal programma's kunnen vinden waar de beveiliging mee te overbruggen is.
    Ik wil echter ook nog gaan kijken of ik niet beter via de COM-poort kan werken (hier kan ik namelijk meer uitgangen mee krijgen). Het moet geen probleem zijn om met een elektronische schakeling de seriele data om te zetten naar een parallele data.
    Maar hoe kan ik met C++ een signaal op de COM-poort zetten. Ik neem aan dat dit met de regel _outp(0x278, ) moet, maar wat moet er dan achter de komma komen te staan.
  • Met bv een schuifregister kun je zoveel uitgangen maken als je wilt idd.

    Ik heb een tijdje terug nog via de COMpoort met een microcontroller moeten communiceren. Daar heb ik toen een hele lap info voor uitgeprint.

    Die had ik van MSDN gehaald.
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnfiles/html/msdn_serial.asp
  • De informatie op deze pagina gaat mij een beetje erg ver (ik ben namelijk nog niet zo lang bezig met programmeren) maar er moet toch ergens een eenvoudig programma te vinden zijn om seriele data op de com-poort te zetten. Het lijkt mij dat ik alleen maar data hoef te zenden naar de RTS of de DTR, of heb ik dit fout??? Ik dacht dat dit bijna net zo eenvoudig zou zijn als data naat de LPT-poort te sturen.
  • Ik ben ook pas sinds september met C++ bezig. Had daarvoor wel 3 jaar Visual Basic ervaring.

    Dat projectje van via COMpoort een microcontroller aansturen was ons eerste project op school. Ze gaan er dus vanuit dat beginnelingen dit kunnen.

    Ik had nog een andere site met kortere uitleg maar die bestaat niet meer.
    En anders gewoon ff googlen naar een andere uitleg.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.