Das Register funktioniert nicht.
Am 1. Register sind alle Ausgänge immer auf LOW
Am 2. Register sind alle Ausgänge immer auf HIGH
egal was ich Einprogrammiere
@A.H.: Fehler meinerseits, es sind natürlich 2 Register
Geplant ist ein Aquariencomputer und über diese Register soll die
Nachtbeleuchtung (LEDs) gesteuert werden.
> int SER_Pin = A5;
Bist du sicher, dass man am Arduino die Pins so addressiert?
Ansonsten: Verlangsame das Ganze halt mal ordentlich, hänge ein paar LED
zusätzlich an die Ausgänge an und sieh dir damit an, wie, was und in
welcher Reihenfolge dein Programm die Ausgansgpins schaltet. Sagt ja
keiner, dass du bei deinen ersten Versuchen gleich volle Pulle auf die
SR ausgeben musst.
Karl Heinz Buchegger schrieb:>> int SER_Pin = A5;>> Bist du sicher, dass man am Arduino die Pins so addressiert?>> Ansonsten: Verlangsame das Ganze halt mal ordentlich, hänge ein paar LED> zusätzlich an die Ausgänge an und sieh dir damit an, wie, was und in> welcher Reihenfolge dein Programm die Ausgansgpins schaltet. Sagt ja> keiner, dass du bei deinen ersten Versuchen gleich volle Pulle auf die> SR ausgeben musst.
Ja die Register möchte ich ja mit den Analogen Pins ansteuern, da die
digitalen bereits belegt sind. Beim 74hc164 den ich als Eingangsregister
verwende funktioiert das ganze auch auf diese weise.
Nicolas L. schrieb:> Karl Heinz Buchegger schrieb:>>> int SER_Pin = A5;>>>> Bist du sicher, dass man am Arduino die Pins so addressiert?>>>> Ansonsten: Verlangsame das Ganze halt mal ordentlich, hänge ein paar LED>> zusätzlich an die Ausgänge an und sieh dir damit an, wie, was und in>> welcher Reihenfolge dein Programm die Ausgansgpins schaltet. Sagt ja>> keiner, dass du bei deinen ersten Versuchen gleich volle Pulle auf die>> SR ausgeben musst.>> Ja die Register möchte ich ja mit den Analogen Pins ansteuern, da die> digitalen bereits belegt sind.
Ja, macht ja nix. Deswegen kannst du ja trotzdem ein paar LED anhängen,
mit denen du visualisierst, was dein Code mit den Pins macht.
Nicolas L. schrieb:> Das Register funktioniert nicht.
Naja, wir wissen ja nicht, was Du wann aufrufst.
Ist es zuviel verlangt, eine Mainloop zu posten?
Fehler fallen mir nicht auf. Was sagt denn der Simulator dazu?
Das ganze ist auch ein rechtes SRAM-Grab.
Du verwendest int (signed 16Bit), wo unsigned char ausreichen würde.
Und boolean ist ein char, d.h. nicht 16 Bit (2Byte), sondern 16 Byte.
C kann nämlich nicht indiziert Bits adressieren.
Du definierst daher 22 Byte, wo 2 Byte völlig ausreichend sind (1000%
Verschwendung).
Peter