Forum
Tipps
News
Menu-Icon

Lauflicht auf Relaiskarte mit Vorgabe des Bitmusters

Hi!

Ich habe eine Programmieraufgabe aufbekommen, mit der ich nicht klar komme.
Es wäre super wenn mir jemand dabei helfen könnte!
Über jeden noch so kleinen Tipp freu ich mich schon!


Also hier ist erstmal die Aufgabe:

Lauflicht auf Relaiskarte mit Vorgabe des Bitmusters

Es soll ein Laulicht auf eriner Relaiskarte ereugt werden. Das Bitmuster soll jeweils nach einer Sekunde nach links verschoben werden.
Das Bitmuster wird als Wert von der Tastertur eingelesen (z.B. 6; 0000 0110 hex). Zwischen den einzelnen Ausgaben ist jeweils eine Sekunde zu warten. Die Relais sind zwischendurch off zu schalten.

Lösungshinweise:
Shiften des Bitmusters um eine Stelle: x = x << 1;
Beachte das die Bits beim Shiften nach links herausgeschoben werden, dies muss erkannt werdeen [ if(bitmuster & 128 = 128) ].
Wird das Bitmuster herausgeschoben, dann ist es (+1) wieder anzuhängen!



Also die Zeitverzögerung bekomm ich mit Sleep(); hin. Was ich noch geschnallt hab ist, dass es was mit _outp(Adresse,Wert) aus conio.h zutun hat. Aber da is nu auch schon leider Schluss TT_TT.


Antworten zu Lauflicht auf Relaiskarte mit Vorgabe des Bitmusters:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Musst Du es wirklich an eine Relaiskarte "schicken" oder nur theoretisch in der Konsole angeben?

Ansonsten zum Lauflicht: Nach jeder Sekunde shiftest Du den Bit-Wert (nicht hex) um eins nach links. Wenn Du dann links eine 1 rausrutscht, muss sie rechts wieder dazukommen. Das sieht (wie eigentlich in der Aufgabe schon vorweggenommen)in etwa so aus:

x = x << 1; nach links shiften
if(x & 128 == 128) x -= 127; // -128 und dann +1

War jetzt keine so große Hilfe, oder? Stand ja schon in der Aufgabe :)

Gruß Spawn
#define ROL(x) x=x<<1|x>>31&1

Whoops, soll ja nur für 8 bit sein ;)

#define ROL(x) ((x=x<<1|x>>7&1)&0xff)

« Erlaubnis Verweigert + CopyFile in vbscriptC#/.NET - dynamisch Objekte hinzufügen/entfernen »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
AGP Schnittstelle
Die AGP (Accelerated Graphics Port) - Schnittstelle wurde in den 1990er Jahren eingeführt und war speziell für Grafikkarten in PCs konzipiert. Sie bot eine dire...

PCI Schnittstelle
PCI steht für "Peripheral Component Interconnect": eine Kartenschnittstelle auf dem Computer Mainboard, die in den 1990er Jahren eingeführt wurde und die ä...

Serielle Schnittstelle
Die serielle Schnittstelle ist eine genormte Schnittstellen zur seriellen Datenübertragung vom und zum Computer. Serielle Schnittstellen wie RS-232 und RS-422 spielt...