Forum: Mikrocontroller und Digitale Elektronik Problem bei 3 Encoder Auswerten


von Peter (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute

Hab ein Problem und zwar die Auswertung von 2 Encodern ging noch ohne 
Probleme und mit 3 habe ich nur Probleme. Die Werte sollen nur bei 
Änderung gesendet werden. werden aber trotz das keine Änderung vorhanden 
ist durchgehend gesendet. Woran könnte das liegen?

lg Peter

von Peter (Gast)


Lesenswert?

So einen Fehler gefunden.
  DDRB = 0xFF;
Aber sobald ich einschalte hab ich einen wert von über 16000 auch wenn 
ich reset betätige ändert sich der wert jeweils um 1.

von Peter (Gast)


Lesenswert?

?_?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter schrieb:
> Aber sobald ich einschalte hab ich einen wert von über 16000 auch wenn
> ich reset betätige ändert sich der wert jeweils um 1
Welcher Wert?
Was würdest du erwarten?
Was geht und was nicht?
Was ist eigentlich die Frage?

Lies mal deine Posts, wie wenn dir dein Problem unbekannt wäre (so 
geht es allen anderen).
Und: verstehst du auch nicht, was das Problem ist?
Welche Information fehlt?

von PittyJ (Gast)


Lesenswert?

#define ENCODER_ANZAHL  3

volatile int  enc_delta[ENCODER_ANZAHL-1]={0,0,0};    // -128 ... 127


Nach meinen C-Kenntnissen ist das Array zu klein.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

PittyJ schrieb:
> Nach meinen C-Kenntnissen ist das Array zu klein.
Auch das hier:
  static char enc_last[ENCODER_ANZAHL-1] = {0x01,0x01,0x01};

Aber sollte da nicht wenigstens eine Warnung kommen, wenn ein 2er Array 
mit 3 Werten initialisiert wird?

von Peter (Gast)


Lesenswert?

Also als Standardwert müsste der Mikrocontroller nach dem einschalten
1
1
1
x
senden.

Wenn ich ein Array mit test[2] initialisiere habe ich dann nicht die 
werte

test[0]
test[1]
test[2]

?

Das würde vll was erklären.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Nö
Die IndexGRÖSSE fängt bei 1 an, der INDEX bei 0.
Also char array[2] hat array[0] und array[1]

von Peter (Gast)


Lesenswert?

Ah ok muss ich nachher mal ausprobieren. Danke man lern immer dazu :-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.