Array Initialisierung und Itertation

OP (Firma: Flk Consulting UG) #5104582
Lesenswert?
• ▲
▼
Hallo Zusammen,

ich hänge gerade wahrscheinlich an einem Anfängerfehler sehe aber den 
Wald vor lauter Bäumen nicht mehr.

Ich initialisiere ein Array mit 10 Elementen vom Type
1
typedef struct _fb_irmpdata
2
{
3
  uint8_t key;
4
  IRMP_DATA irmp_data;
5
} FB_IRMP_DATA;
1
FB_IRMP_DATA irmpdata[MAXCODES] =  {
2
  { KEY1,     {0x00,0x00,0x00,0x00} },
3
  { KEY2,     {0x00,0x00,0x00,0x00} },
4
  { KEY3,     {0x00,0x00,0x00,0x00} },
5
  { KEY4,     {0x00,0x00,0x00,0x00} },
6
  { KEYUP,    {0x0B,0x64,0x0A,0x00} },
7
  { KEYDOWN,  {0x0B,0x64,0x0C,0x00} },
8
  { KEYLEFT,  {0x0B,0x64,0x5C,0x00} },
9
  { KEYRIGHT, {0x0B,0x64,0x3E,0x00} },
10
  { KEYMENU,  {0x0B,0x64,0x23,0x00} },
11
  { KEYMUTE,  {0x0B,0x64,0x37,0x00} },
12
                  };

Mit der Funktion
1
uint8_t findKeyInStorage(IRMP_DATA *data)
2
{
3
  for(uint8_t i=0; i < MAXCODES; i++)
4
  {
5
    if(data->address == irmpdata[i].irmp_data.address &&
6
       data->command == irmpdata[i].irmp_data.command &&
7
       data->protocol == irmpdata[i].irmp_data.protocol)
8
    {
9
      return irmpdata[i].key;
10
    }
11
  }
12
  return KEYUNDEFINED;
13
}

suche ich jetzt den Key für den IR Code.

Zu Debug-Zwecken lasse ich mir den IR Code und den gefundenen Key auf 
einem LCD ausgeben. Nur für KEYUP und KEYDOWN bekomme ich den richtigen 
Wert für Key geliefert, obwohl definitiv die richtigen Werte für alle 
Tasten im Array stehen.

Wo liegt mein Denkfehler :-(

Gruß
Frank
Angehängte Dateien:
OP (Firma: Flk Consulting UG) #5104638
Lesenswert?
• ▲
▼
Hallo Stefan,

irmpdata ist eine lokale Variable in der Funktion User_handle_keys und 
nicht das Array mit dem gleichen Namen.

Die Bezeichnung ist etwas unglücklich gewählt, aber der Scope lokale 
Variable funktioniert. Ich habe sie trotzdem mal umbenannt.

Gruß
Frank

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.