Hej Alle her inde.
Jeg sidder her med en opgave hvor der skal programmeres et lyskryds. Jeg er så nu nået til det pungt, at hvis der bliver trykket på en kontakt, som er forbundet fra computer til en boks via paralelporten, skal der lyses grønt.
Jeg har leget med koden nu i over fire dage, og selve problemmet ligger i at jeg skal bruge et if-else statement, men kan simpelthen ikke få dne til at virke ?
"Når du skal løse fra lyskrydset, skal du først sende koden for kontaktens nr. til lyskrydset ud på addresse 378 Hex. Så sendes en puls til bit 0 på addresse 73A Hex, som bevirker at addressen bliver aktiveret. Så læses kontaktens værdi fra addresse 379 Hex."
int kontakt;
//Først vælges adressen på kontakt nr 4.
Output(0x378, 0x04);
strobe();
//Så læses kontakten
kontakt = Input(0x379);
//Hvis kontakten er aktiveret læses tallet 120.
//Hvis den ikke er aktiveret læses tallet 248.
if (kontakt == 120) // de grønne i nr 4 tændes;
{
Output(0x378, 0x40); //Nulstiller den aktive kontakt
strobe(); //så den er klar til næste gang
Output(0x378, 0x84);
strobe();
}
else //de røde tændes
{
Output(0x378, 0x81);
strobe();
}
Men, i stedet for at blive grøn, efter jeg har trykket, ja så bliver den bare ved med at blive rød ?
håber der er nogle der kan give en hjælpende hånd!
Indlæg senest redigeret d. 06.08.2010 00:45 af Bruger #15964