Gå til innhold

Problem med out();


Anbefalte innlegg

Hei!

 

Jeg er dårlig i c++, men har lyst til å lage en fil som kan slå av/på leds som er koblet til parallel-porten.

Jeg har googlet massssseee, men bare funnet litt.

Jeg fant et script som ser slik ut:

 

#include <conio.h>
#include <stdio.h>
#include <dos.h> // For _out
#define port 0x378 // Port Address
#define data port+0 // Data Port of the parallel cable

int main()
{
 _out(0x378, 255); // For all lights on
 system("pause");
 _out(0x378, 0); // For all lights off
}

(O_o)

 

Når jeg prøve å kompilere dette får jeg feilmeldingen: " `_out' undeclared ".

Hva er feil, jeg har sett andre fler tutorials som bruker den samme koden.

Jeg bruker foressten Dev C++ for å kompilere filene mine.

 

På forhånd takk :)

Lenke til kommentar
Videoannonse
Annonse

Skjult tekst: (Marker innholdet i feltet for å se teksten):

#include <conio.h>
#include <stdlib.h>

#define port 0x378 // Port Address
#define data port+0 // Data Port of the parallel cable

int main()
{
_outp(0x378, 255); // For all lights on
system("pause");
_outp(0x378, 0); // For all lights off
}

 

Jeg har ingen ide om hvilket os du bruker, men jeg tror denne koden gjør samme nytten, men jeg har ikke fått testet det (hvordan kan jeg teste det?)

Jeg fikk kompilert det, men det klikket ved kjøring, men så jeg har ikke printer port på maskinen jeg sitter på nå så...

 

lykke til

Lenke til kommentar

hum - tingen jeg linker til over never headere du må inkludere, biblioteker du må linke med - og funksjoner m.m. - uhm .. vel, det jeg skal frem til; har du forsøkt mer win32-spesifike løsninger?

 

conio.h (fra Borland .. Turbo C 2.0 ringer bjeller O_o) og dos.h; det er mulig jeg tar feil nå - men jeg tror ikke en gang de er win32-spesifike - de er mer MS DOS-spesifike; altså tingene du driver med er godt over 10 år gammelt og er spesifike for et OS slik det var den gangen

 

..så, vel - tror ikke det har så mye med valg av kompiler å gjøre..

Endret av lnostdal3
Lenke til kommentar

Hm - jeg har liten mulighet til å teste dette; jeg hadde foresten et brett med dioder på en gang, men dette er borte nå. Har du forsøkt å følge det som står på MSDN - noen konkrete problemer?

 

Det kan hende du greier deg med `CreateFile("LPT1", ..)' - og etter det kan begynne å sende bytes til den returnerte file-descriptoren.

 

(btw. om du har problemer kan det forresten hende at noe sitter igjen i en buffer et sted; altså at du må flushe descriptoren med jevne mellomrom)

Endret av lnostdal3
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...