Gast
#479981
Hallo! Dank euch habe ich doch tatsächlich recht viel über Mikrocontroller gelernt und habe auch schon einiges damit angestellt. Bisher habe ich immer in ASM programmiert und bin damit auch prima zurecht gekommen. Beim aktuellen Projekt habe ich ein Handydisplay an den AVR angeschlossen. Ich habe die Ansteuerung in ASM geschrieben. Nun ist es aber wirklich zeitrauben und mühsam um irgendwelche Grafiken etc zu zeichnen, es wird einfach ziemlich unübersichtlich. Gut habe ich mir gedacht, C kannst du ja ein bisschen jetzt wirds Zeit um auf C umzusteigen, den MC kennst du ja nun doch ziemlich gut. Gesagt getan, habe ich die Ansteuerungsroutinen in C nochmals geschrieben. Und oh Schreck, das ist ja um mindestens den Faktor 2-3 langsamer. Jetzt schaffe ich noch eine Bildwiderholrate von ca. 5/s, mit den ASM Routinen habe ich gegen 20 (oder doch mehr) geschafft. Und das trotz Optimierungsstufe 2! OK, es gibt ja noch die Möglichkeit ASM in C einzubinden. Habe dazu im Tutorial ein bisschen was gefunden, auch wenn ich da noch nicht wirklich durchsteige wie man das jetzt am einfachsten macht (nicht inline-assembler, sondern ganze Funktionen oder so). Die Hauptfrage die sich aber aufdrängt, wie mache ich die Parameterübergabe an eine ASM-Funktion am einfachsten? per Stack, kann ich in C Register direkt verwenden, oder über S-Ram? Danke für alle Tipps diesbezüglich. Da schweigt das Tutorial... Gruss