Nur ganz kurz:
Folgender code:
bool schalte_LED(bool an_aus)
{
if (an_aus)
{
myGLCD.drawBitmap(75,90,96,160,tuer_versuch2);
}
else
{
myGLCD.drawBitmap(80,80,72,160,tuer_zu);
}
};
jetzt möchte ich noch eine clearScreen-mehtode einfügen, sobald ein
neues bild reinkommt. kann mir da jemand kurz sagen wie ich das machen
soll?
es kommen zyklisch can nachrichten rein und bisher wird mein bild bei
jeder neuen nachricht immer wieder gelöscht. ich möchte aber dass sobald
die 1.neue nachricht reinkommt, das bild verändert wird und dann auch
bleibt
peter schrieb:> kann mir da jemand kurz sagen wie ich das machen soll?
Mit den Infos nicht...
Deine Funktion heißt "schalte_LED", aber offensichtlich malst du da was
auf nem GLCD!? Auch deine Problemstellung lässt nur mutmaßen was du
willst und was du hast.
> Nur ganz kurz:
funktioniert hier nicht, sag was los ist und versuch mal dein Problem
klar zu formulieren.
Ok sorry
also im moment wird bei einer can nachricht mit der botschaft 1 das
bitmap tuer_versuch2 und bei einer nachricht mit botschaft 0 das bitmap
tuer_zu abgebildet.
möchte die bilder bei einer neuen ankommenden nachricht zunächst
löschen, damit nur das aktuelle bild zu sehen ist. das bekomm ich nicht
hin
Ingo L. schrieb:> void schalte_LED(bool an_aus)> {> static uint8_t temp = 2;> if (temp != an_aus){> clrScr();> if (an_aus)> {> myGLCD.drawBitmap(75,90,96,160,tuer_versuch2);> }> else> {> myGLCD.drawBitmap(80,80,72,160,tuer_zu);> }> }> temp = an_aus;> };
Ingo, überragend, vielen herzlichen dank dir!!!!=)
temp wird am anfang auf 2 gesetzt, weil false mit 0 und true schon mit 1
belegt sind oder warum?
Ingo L. schrieb:> Temp muss auf 2 initialisiert werden statt auf 0, für den> allerersten Durchlauf.
Und am Besten alle Compiler-Warnings abschalten, die nerven sowieso nur.
:-(
>temp wird am anfang auf 2 gesetzt, weil false mit 0 und true schon mit 1>belegt sind oder warum?
Genau, du brauchst einfach einen 3. Zustand zur Initialisierung...
Jodel schrieb:> Und am Besten alle Compiler-Warnings abschalten, die nerven sowieso nur.
Öh, ja, du hast Recht.
Die Funktion muss natürlich auch einen uint8_t übergeben bekommen.
1
voidschalte_LED(uint8_tan_aus)
Trotzdem kannst du ja statt dummer Kommentare auch was Sinnvolles
posten.