simple Zuweisung aus Array klappt nicht

Gast #78066
Lesenswert?

Ich habe so ein kleines Problem, dass ich mit dem Debugger entdeckt habe
aber auch nicht so beheben kann. Irgendwo habe ich wieder einen
Denkfehler. Vielleicht sieht ja jemand besser als ich. Hier ein
Schnipsel:

#define ABLED_NUM_PINS        3
#define ABLED_TYPE_SINGLE      1
#define ABLED_TYPE_DUAL        2
#define ABLED_TYPE_RGB        3

#define ABLED_NUM_LEDS        3

unsigned char abled_types[ABLED_NUM_LEDS] = {
  ABLED_TYPE_SINGLE,
  ABLED_TYPE_SINGLE,
  ABLED_TYPE_SINGLE
};

SIGNAL(SIG_OUTPUT_COMPARE0)
{
  unsigned char     value_first, value_next, value_new, value;
  unsigned char     count_led, count_col, count_pin;

  cli();
  value = TCNT0;
  value_first = 0xFF;
  value_next = value;
  for (count_led = 0; count_led < ABLED_NUM_LEDS; count_led++) {
    count_pin = abled_types[count_led];

.....

DIe Zeile wo "count_pin" gesetzt wird funktioniert nicht. Dort sollte
eine 1 drin stehen beim ersten Durchlauf. Da steht aber danach 255 drin
(laut AVR Studio Debugger). Wieso?! Raffe ich echt nicht.
Gast #78071
Lesenswert?

Hallo Ronny,
das sieht sehr komplex aus was Du da machst. Was willst Du eigentlich
mit den LEDs machen. Offenbar willst Du mehrere LEDs unterschiedlich
hell ansteuern, oder ???
Wenn das so ist, würde ich das anders machen.

Gruß Herbert
Gast #78072
Lesenswert?

@Jörg Wunsch:
Funktioniert nicht so richtig, deshalb habe ich zum Debugger gegriffen.
AVR-Studio habe ich 4.07 oder sowas (vor etwa 4 Monaten
heruntergeladen). Weiß ich aber nicht genau. Da müsste ich mal zu Hause
schauen.
Ja und extcoff aus WinAVR. Anders geht es ja kaum.

@Herbert:
Genau richtig erkannt! Was würdest Du anders machen bzw. wie würdest Du
das machen?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren