Gast
#5852178
Hallo liebes Forum,
ich wollte gerade mal wieder einen ws2812b-Strip zum Leuchten bringen.
Dabei benutze ich die light_ws2812-lib, was ich auch schon öfter gemacht
habe. Ich benutze ebenso Code, der schon öfters funktioniert hat (hab
mit alten Projekten verglichen, mir fällt keine Änderung auf, allerdings
gibt AtmelStudio 6.2 mir folgende Fehlermeldung:
request for member 'g' in something not a structure or union
Wie gesagt, das hat alles schonmal funktioniert, einen alten Code mit
der gleichen Vorgehensweise kann ich auch ohne Fehler kompilieren. Ich
checks nicht...
Hier sind mal die relevanten Codehäppchen:
in der light_ws2812.h wird die struct definiert:
struct cRGB { uint8_t g; uint8_t r; uint8_t b; };
in meinem Code dann:
#include "light_ws2812.h"
...
#define MAXPIX 10
...
struct cRGB led[MAXPIX];
...
void fill_struct(void)
{
for (uint16_t i = 0; i < MAXPIX; i++)
{
led.r[i] = 100; led.g[i] = 100; led.b[i] = 255;
}
}
Dann kommt oben genannter Fehler. Bin mir recht sicher, dass ich es
schon öfter genauso gemacht habe, ohne Probleme. Die light_ws2812.h habe
ich über add -> existing item angehängt und sie liegt auch im
Projekteordner.
Das ändern in Pfeile anstelle des Punktes (was AS immer automatisch
machen möchte, wenn ich einen Punkt setze) bringt folgende
Fehlermeldung:
subscripted value is neither array nor pointer nor vector.
Ich mach das alles nur zum Hobby und hab mir den ganzen Krempel bisher
selbst beigebracht, so richtig durchsehen tu ich nich in C, aber bisher
hats irgendwann immer gereicht.Über Hinweise freue ich mich, muss jetzt
aber los und kann erst heute Nacht antworten...
Danke für etwaige Hilfe und einen schönen Abend euch allen...