Hallo
Ich habe da mal ein paar Fragen zur gfx.h:
1.) GFX.H: dieser Teil stellt Funktionen zur Textausgabe auf dem Grafikdisplay zur Verfügung. Alle Funktionen arbeiten blockierend, das heisst sie kehren erst zurück wenn die Daten übertragen wurden - was bedeutet das für eine timer-isr? Ich habe einen Zähler, der alle 1ms eine timer-isr aufruft - wird diese timer-isr "gestoppt", während die Textausgabe erfolgt oder zählt der Zähler dennoch weiter?
Beispiel: zaehler3_t2 wird alle 1ms per ISR (ISR(TIMER2_COMP_vect) um 1 incrementiert - passiert dies auch während der Textausgabe (diese arbeitet ja blockiert)?
while((zaehler3_t2 < zeit1) &&(merker_S3==0)){ /* Countdown ...*/
if(!get_input_bit(IO_INPUT_1)) merker_S3 = 1; /* S3 gedrueckt -> IO_INPUT_1 = 0! */
sprintf(text, "Restzeit: [%i] sek", (int)(zeit1 - zaehler3_t2)/1000);
gfx_move(5, 30);
gfx_print_text(text);
}
wenn zaehler3_t2 weiter zählt - ok, kein Problem; wenn zaehler3_t2 aber blockiert ist, zählt er nicht weiter => Zeit stimmt nicht mehr...
2.) was bedeuted GFX_DM_JAM1 = 0, GFX_DM_JAM2 = 1, GFX_DM_COMP = 2, GFX_DM_JAM1_INV = 4, GFX_DM_JAM2_INV = 5, GFX_DM_COMP_INV = 6? Dass es ein enum ist, ist schon klar, aber was haben die einzelnen Werte zu bedeuten?
@workwind - vielleicht kannst Du da mal was dazu sagen..
mfg
Egon