Gå til innhold

Gjøre pinne X høy/lav på parallel porten


Anbefalte innlegg

Skrevet

Skulle gjerne ha laget et program som f.eks satte pinne 2 på parallel porten høy/lav. Når programmet blir kjørt, setter det pinne 2 til det motsatte av det pinne 2 er i øyeblikket. Om pinne 2 er lav når jeg starter programmet, blir den satt høy, og omvent.

Gjerne i Pascal.

 

Noen som kan hjelpe?

Videoannonse
Annonse
Skrevet

Det skulle vel la seg gjøre, om du forteller hvilket miljø du bruker. DOS er enkelt, Delphi 1 og 16-bits Windows likedan, men ganske mer krevende ellers for Win-32.... :roll:

Skrevet

DOS er greit det. Prøvde meg litt med QBasic, og fikk frem noen resultater, men da måtte jeg taste inn et tresifret tall som innehold informasjon om hva alle pinnen var (høy/lav), noe som kanskje blir litt strevsomt.

Skrevet

Prøv eksempelvis noe a la dette:


Program LPT;

Uses Dos;



Var

  Adresse:word;

  Data:byte;

  Feil:integer;



Begin

  Adresse:= MemW [$0040:$0008];

  Val (ParamStr (1), Data, Feil);

  Port [Adresse]:= Data;

End.

Lag en exe-fil i Turbo Pascal og bruk det på denne måten:

LPT 8

 

Det setter datapinne 5 høy. Verdiene for datapinnene er :

2 3 4 5 6 7 8 9 (pinnenr i 25-pinns kontakt)

1 2 4 8 16 32 64 128 (verdi for hver datapinne)

Skrevet

Du kan legge inn en funksjon i programmet ditt som konverterer fra binære til desimale tall, noe sånt:


Function BinTilHeltall (Verdi: String): Longint;

Var

 Heltall, I                     : Integer;

Begin

 Heltall:= 0;

 { Fjern evn. innledende nuller : }

 While Copy (Verdi, 1, 1) = '0' Do

   Verdi:= Copy (Verdi, 2, Length (Verdi) - 1);

 { Konvertering : }

 For I:= Length (Verdi) Downto 1 Do

   If Copy (Verdi, I, 1) = '1' Then

     Heltall:= Heltall + (1 Shl (I - 1));

 BinTilHeltall:= Heltall;

End;

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...