Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 04-10-2003, 14:53
GeritoDM
Avatar van GeritoDM
GeritoDM is offline
Ik ben voor school bezig met een PWS. De bedoeling is om een lasershow te maken, door middel van twee spiegeltjes elk op een motortje met weer elk een DAC dr bij. En dan een programma schrijven om er leuke figuurtjes mee te tekenen. Nu ben ik dus met Pascal begonnen, omdat onze begeleider en onszelf dat de beste en makkelijkste keus leek. Nu heb ik een test-apparaatje, met acht LED-jes, waarmee je dus vrolijk binair kan tellen. Aangesloten op m'n COM1-poort. Ik heb het volgende test-programma geschreven, maar hij werkt niet. Ik kan wel de waarde van de poort lezen, maar 'em niet veranderen.

Code:
program TestPort;

uses
 Crt;

const
 Data = $1020;

var
 Bits : Byte;

begin
 ClrScr;
 writeln(Port[Data]);
 Bits := 1;
 while not KeyPressed do
  begin
   write(Bits:4);
   if Bits = 256 then 
    begin
     Bits := 1;
     write(Bits:4);
    end;
   Port[Data] := Bits;
   Bits := Bits + 1;
  end;
end.
__________________
...
Met citaat reageren
Advertentie
Oud 04-10-2003, 15:03
McMotion
Avatar van McMotion
McMotion is offline
hoe weet je dat het lezen goedgaat? bedoel je dat je echt waarden terugkrijgt die je verwacht van de hardware? of dat je gewoon uberhaupt waarden terugkrijgt? dat zegt namelijk niet zoveel en ik neem aan dat je met paralelle poort seriele poort bedoelt?
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
Met citaat reageren
Oud 05-10-2003, 14:32
GeritoDM
Avatar van GeritoDM
GeritoDM is offline
Citaat:
McMotion schreef op 04-10-2003 @ 16:03:
hoe weet je dat het lezen goedgaat? bedoel je dat je echt waarden terugkrijgt die je verwacht van de hardware? of dat je gewoon uberhaupt waarden terugkrijgt? dat zegt namelijk niet zoveel en ik neem aan dat je met paralelle poort seriele poort bedoelt?
Ik heb dus dat printje met acht LED-jes aangesloten, en daar brandt de derde van, dus 1000 dus 4. En ik krijg dus waarde vier eruit.
Maar ehm. Ik denk dat ik dan serieel bedoel, ik weet het verschil nooit.
__________________
...
Met citaat reageren
Oud 06-10-2003, 19:38
GeritoDM
Avatar van GeritoDM
GeritoDM is offline
Het is dus de LPT-poort... *blont*
__________________
...
Met citaat reageren
Oud 06-10-2003, 19:56
Pruttelpot
Avatar van Pruttelpot
Pruttelpot is offline
Citaat:
GeritoDM schreef op 06-10-2003 @ 20:38:
Het is dus de LPT-poort... *blont*
Dus toch de paralelle (die grote brede)

Maarem, verder geen pascal kennis hier hoor
Met citaat reageren
Oud 06-10-2003, 22:31
Screaming Slave
Screaming Slave is offline
ehm, Bits is een Byte, die wordt nooit 256.

pak gewoon een Integer en dan gebruik je telkens (Bits mod 256).
Met citaat reageren
Oud 07-10-2003, 11:07
GeritoDM
Avatar van GeritoDM
GeritoDM is offline
Citaat:
Crystal Method schreef op 06-10-2003 @ 23:31:
ehm, Bits is een Byte, die wordt nooit 256.

pak gewoon een Integer en dan gebruik je telkens (Bits mod 256).
Ach ja, maar dat maakt niet zoveel uit. Die reeksen spuugt-ie wel.
Maar het gaat me er meer om dat ik niets naar die poort kan zenden... Ik kan de waarde dus wel lezen, maar er geen nieuwe aan toekennen. Met QuickBasic lukte het wel, op dezelfde computer hetzelfde testapparaatje...
__________________
...
Met citaat reageren
Oud 07-10-2003, 12:45
Verwijderd
quickbasic is ook vele malen stabieler. gebruik je TP70? Want onder turbo pascal is er een bug onder wat snellere computers. Pentium 200 en sneller ofzo. Misschien ligt het probleem hier?
Met citaat reageren
Oud 07-10-2003, 21:06
GeritoDM
Avatar van GeritoDM
GeritoDM is offline
Citaat:
deadlock schreef op 07-10-2003 @ 13:45:
quickbasic is ook vele malen stabieler. gebruik je TP70? Want onder turbo pascal is er een bug onder wat snellere computers. Pentium 200 en sneller ofzo. Misschien ligt het probleem hier?
Maar QuickBasic is veels te omslachtig voor wat ik nog meer moet gaan maken...
Maar als ik die bug zou hebben (gebruik 5.5, kan geen frans) zou hij het programma helemaal niet willen draaien.
__________________
...
Met citaat reageren
Oud 07-10-2003, 21:46
SectorZero
Avatar van SectorZero
SectorZero is offline
Je output goed, maar je leest anders, namelijk uit het statusregister.

Outputten: Port[port]:=1;
Lezen moet je alsvolgt doen: DataIn=Port[port+1];
vervolgens een vage berekening maken met DataIn, om de waarde 1 te krijgen, maar die weet ik zo niet meer.

Zie ook: http://www.djoe.nl/default.asp?conte...Ledenaandeslag
__________________
Ouderdom komt met de jaren...

Laatst gewijzigd op 07-10-2003 om 21:49.
Met citaat reageren
Oud 07-10-2003, 21:49
deathz0rz
deathz0rz is offline
Citaat:
SectorZero schreef op 07-10-2003 @ 22:46:
Zie ook: http://www.djoe.nl/default.asp?conte...Ledenaandeslag
heel leuk sec0, maar daar zit de source niet bij...
__________________
Ooit. Dan.
Met citaat reageren
Oud 07-10-2003, 21:49
SectorZero
Avatar van SectorZero
SectorZero is offline
Die source is crappy, heeft ie niet veel aan, bovendien ben ik hem kwijt. Het progje werkte echter wel
__________________
Ouderdom komt met de jaren...
Met citaat reageren
Oud 08-10-2003, 19:36
GeritoDM
Avatar van GeritoDM
GeritoDM is offline
Citaat:
SectorZero schreef op 07-10-2003 @ 22:46:
Je output goed, maar je leest anders, namelijk uit het statusregister.

Outputten: Port[port]:=1;
Lezen moet je alsvolgt doen: DataIn=Port[port+1];
vervolgens een vage berekening maken met DataIn, om de waarde 1 te krijgen, maar die weet ik zo niet meer.

Zie ook: http://www.djoe.nl/default.asp?conte...Ledenaandeslag
Het lezen werkt juist wel, dat is gewoon write(port[Data]); of Bits := port[Data]; en write(Bits);
Maar de output werkt gewoon niet... En ik weet ook wel hoe het zit met het Data, Status en Control register, maar dat heb ik nu nog niet nodig. Het gaat me alleen om een getal te kunnen sturen naar die parallele poort, hoe dat moet. Dit werkt niet, ook al heb ik het letterlijk gekopieeerd van enkele sites en uit enkele sources voor bijv. het aansturen van stappenmotoren. Maar het lukt gewoon niet, die lampjes gaan niet branden.

En ik heb er niets aan dát dat programmaatje werkt, ik moet weten hóé het werkt.
__________________
...
Met citaat reageren
Oud 10-10-2003, 08:51
GeritoDM
Avatar van GeritoDM
GeritoDM is offline
Ik heb de fout ontdekt, het $-teken moest niet voor de waarde van de poort. Het moet dus zijn:
port[956] := 12;
ipv
port[$956] := 12;.


Jeuj. Bedankt voor de hulp en zo.
__________________
...
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 13:51.