was bedeutet dieses " unsigned char status=GREEN,"?
In der Datei asuro.h sind folgende Werte für die StatusLED definiert:
#define GREEN 1
#define RED 2
#define YELLOW 3
status ist eine vorzeichenlose 8bit-Variable deren Wert beim Anlegen im Speicher GREEN (also 1) ist. Ohne diese Zuweisung wäre der Wert der Variablen beim Programmstart undefiniert (, meist aber 0). Nach Init() leuchtet die StatusLED übrigends immer grün...
...aber so soll es ja eigentlich nicht arbeiten.
Upps, sorry. Das habe ich falsch umgesetzt. So sollte die StatusLED nur beim Drücken der Tasten ihre Farbe wechseln und nicht auch beim Loslassen:
PHP-Code:
#include "asuro.h"
int main(void)
{
unsigned int wert1, wert2;
unsigned int wert3=0;
unsigned char status=GREEN;
Init();
while (1)
{
do
{
do
{
wert1 = PollSwitch ();
wert2 = PollSwitch ();
}while(wert1 != wert2); // wiederholen bis zweimal derselbe Wert gelesen wurde
}while(wert1 == wert3); // wiederholen bis sich der Wert geändert hat
wert3 = wert1; // neuen Wert merken
if(wert1 > 0)
{
if(status == GREEN) status = RED; else status = GREEN;
StatusLED(status);
}
}
return(0);
}
auch wieder ungetestet
Lesezeichen