-
-
Moderator
Robotik Einstein
Du bekommst bei 256 eine andere Blinkfrequenz als eigentlich gedacht, weil 256 eine 9-bit Zahl ist und das Arbeitsregister nur 8 Bit aufnehmen kann.
256 ist 1 0000 0000 und da nur 8 Bit ins Register reinpassen schreibt er im Endeffekt 0000 0000 und die 1 am Anfang wird abgeschnitten.
500 ist 1 1111 0100 und dann schreibt er ins Arbeitsregister eine 1111 0100. Das sollte das ganze Problem sein. Wenn du mit 8-Bit nicht hinkommst musst du die Zahl halt in einen Low und einen High Teil aufteilen.
Zum Beispiel die 500 wieder. 500 ist ja 1 1111 0100. Dann schreibst du in das Register was für den Low Teil der Zahl steht 1111 0100 und in das Register was für den High Teil steht 0000 0001. Und beim Zählen hast du dann auch jeweils ein Low und High Register. Beim High Register wird der Wert um 1 erhöht wenn im Low Register 1111 1111 steht. So kannst du dann auch mit 16-Bit Zahlen rechnen.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen