Ich habe fix mal einen Code fetig gemacht.
M liegt mit auf PortB, Pin B3 um genau zu sein.
Läuft mit 114,6 Hz bei -O1.
Die Versorgung mit den +23V ist doch kein Problem mit einer Spannungspumpe.
edit: Natürlich meine ich eine Ladungspumpe![]()
Ich habe fix mal einen Code fetig gemacht.
M liegt mit auf PortB, Pin B3 um genau zu sein.
Läuft mit 114,6 Hz bei -O1.
Die Versorgung mit den +23V ist doch kein Problem mit einer Spannungspumpe.
edit: Natürlich meine ich eine Ladungspumpe![]()
Geändert von MisterMou (01.05.2012 um 19:24 Uhr) Grund: B4 nach B3 umbenannt
Du meinst sicher eine Ladungspumpe.![]()
Grüße,
Daniel
Laut Deinem Code liegt er auf PB3, nicht auf 4.
Kannst es im .h einfach ändern, wenn's doch PB4 sein sollte.
Anbei der angepasste Code, sollte theoretisch funktionieren. Basierend auf der momentanen Vorlage unter Verwendung von M wäre man mit den Opcodes CBI/SBI (statt Out) etwas besser gefahren.
Es dürfte kein großartiger Unterschied sein, hätte aber eine deutliche Veränderung des Codes erfordert, das wollt' ich vermeiden.
In der momentanen Version ist der Code dagegen einfach auf höhere Port-IO-Adressen anpassbar, was mit CBI/SBI nicht so problemlos ginge, bzw. dann deutlich länger brauchen würde.
Danke, du hast aber noch ne Kleinigkeit in der main() vergessen
Läuft wunderbar mit 75.0719Hz.Code:CTRL_DDR=0x0F;
Es ist in der Tat Pin B3![]()
Immer diese groben Schnitzer
Das macht er natürlich wegen des Timers. Für Dich sind ja tatsächlich keine 120Hz wichtig, sondern was an Rechenleistung noch über bleibt, es ist mehr als ein Viertel. Also äquivalent einem mit 4MHz betriebenen µC und damit lässt sich ja immer noch Einiges anfangen.Läuft wunderbar mit 75.0719Hz.
Ah, ok.
Was mich interessieren würde, sind Bildstörungen beim Beschreiben des Zeichenspeichers bemerkbar ?
Es wird pro Interruptaufruf ja nur ein 12tel Buchstabe geschrieben, also müsste da theoretisch ein wenig Verhau entstehen, kann aber sein dass es durch die Trägheit des Auges nicht erkennbar ist.
Vorher hatte ich noch eine ISR gebaut, die jeweils eine der 20 Zeilen komplett auf einen Rutsch geschrieben hat.
Da hätt's sicher keine Störungen gegeben, aber bei Verwendung eines UARTs wär' bei ~34kBaud Schluss gewesen, weil sonst Zeichen nicht mehr abgeholt worden wären.
Fand ich dann auch nicht so optimal.
Ich glaube nicht, dass da problematische Störungen auftreten, der Mensch ist einfach zu langsamIch werde es aber mal untersuchen.
Inzwischen habe ich mich auch mal an der Interrupt-Geschichte versucht, allerdings auf C Basis.
Das Ergebnis ist zur Zeit 60% Auslastung bei 50Hz und 90% Auslastung bei 75Hz.
Die Auslastung lässt sich an der Low-Zeit von Pin D0 abschätzen.
Ich bekomme allerdings Grafikfehler bei der -O1 Optimierung, sonst klappt alles.
Das ist alles Neuland für mich, also die ganze Displaygeschichte. Ich programmiere einfach drauf los, Hauptsache ist, dass es funktioniert.
Nur nochmal zur Erinnerung^^
Geändert von MisterMou (02.05.2012 um 22:07 Uhr)
Lesezeichen