Zitat Zitat von Getaco
Danke euch allen dass ihr so zahlreich geantwortet habt.
Bitte !

Zitat Zitat von Getaco
@fwallenwein: Da fällt mir gerade ein : Wo begint ein array in winavr bei array[0] oder array[1]?
Bei 0

Zitat Zitat von Getaco
!btn1 ist richtig die taster gehen gegen masse.
Dann müssen wir uns aber das nochmal anschauen
Also, wenn die Taste gedrückt ist :

Wenn Taste Gedrückt.............if (!btn1){
wenn Zeit >= 150....................if (btn1_time >= 150){
Zeit = 149.................................btn1_time=149;
und Level hochzählen.................ch1_level = ch1_level + 1;

in der nächsten Millisekunde wir in

....if (old_msec != t_msec){
........if(!btn1){
.............btn1_time = btn1_time + (t_msec - old_msec);

die Zeit wieder von 149 auf 150 hochgesetzt.
Also kommt er in der nächsten millisekunde wieder
in die If abfrage oben rein, zaehlt den level wieder hoch,
setzt Zeit wieder auf 149 usw. usw.

Hab ich das richtig verstanden ? Ist das so gewollt ?

Zitat Zitat von Getaco
Nochmal @fwallenwein : AHA :-O soviel Ram verbraten Hae? keine Ahnung Bascom hat mir das immer abgenommen Achso hmm dann sind die 103% die der compiler mir zeigt das ram Und wie krieg ich die variable ins flash ? Also mal ehrlich das mir dem Include hab ich irgendwo rauskopiert
Ins Flash ist einfach :
unsigned const int phaseAngleTiming[257] PROGMEM = {
....
}

rauslesen - da muss ich auch erst mal wieder die Doku befragen.
Ich habe immer Strukturen in's Progmem gelegt, und diese zum bearbeiten mit "memcpy_P" ins RAM geholt.
Aber da müsste ich selbst erst in der Doku nachlesen.
Weiss ich nicht mehr auswendig.

Gruss
Frank[/code]