www.mikrocontroller.net

Forum: Compiler & IDEs simple Zuweisung aus Array klappt nicht


Autor: Ronny Schulz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Florian Hrubesch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
probiers mal mit volatile.
cu Flo

Autor: Florian Hrubesch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
volatile unsigned char abled_types[ABLED_NUM_LEDS] = {
  ABLED_TYPE_SINGLE,
  ABLED_TYPE_SINGLE,
  ABLED_TYPE_SINGLE
};

Autor: Ronny Schulz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht genauso wenig. Was sollte das "volatile" in diesem Fall bedeuten?

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AVR Studio debugger?

Wie sieht's im realen Leben aus?

Benutzt Du die neuste Version von AVR Studio und das `extcoff' Format?

Autor: Herbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ronny Schulz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Upgrade auf 4.08, dann geht's.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.