boolescher ausdruck

Gast #4489292
Lesenswert?
• ▲
▼
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
#4489311
Lesenswert?
• ▲
▼
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.
1
bool schalte_LED(bool an_aus)
2
{
3
  static uint8_t temp = 0;
4
  if (temp != an_aus){
5
    if (an_aus)
6
    {
7
      myGLCD.drawBitmap(75,90,96,160,tuer_versuch2);
8

9
    }
10
    else
11
    {
12
      myGLCD.drawBitmap(80,80,72,160,tuer_zu);
13
    }
14
  }
15
  temp = an_aus;
16
};
Gast #4489312
Lesenswert?
• ▲
▼
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
Gast #4489327
Lesenswert?
• ▲
▼
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?

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.