Hi Leute, ich habe hier einen ATMega16, den ich mit WinAVR programmiere. Ich steuere damit ein Grafik-Display mit 2 SED1520 an. Zeichensätze habe ich mir realtiv umständlich via
static const UCHAR font6x8[][5]={ {0, 0, 0, 0, 0}, {0, 0, b01011111, 0, 0}, {b01111111, b00001001, b00001001, b00001001, b00000110}, //" {b01111111, b00001001, b00001001, b00001001, b00000110}, //# {b00000000, b00000010, b00000101, b00000010, b00000000}, //$ {b01111111, b00001001, b00001001, b00001001, b00000110}, //% {b01111111, b00001001, b00001001, b00001001, b00000110}, //& {b01111111, b00001001, b00001001, b00001001, b00000110}, //' . . . . . }
... deklariert. Die ganzen Binärzahlen existieren in einer separaten Datei als DEFINES.
Bisher hat das ganze immer wunderbar funktioniert. Ich habe den Zeichensatz immer weiter erweitert und ab einer bestimmten Größe, läuft der AVR nicht mehr richtig und resetet ständig (mehrfach pro Sekunde).
Diese Datei mit den Zeichensätzen und den Grafikroutinen könnt Ihr Euch unter
An was kann das liegen? Ich greife auf die Zeichensätze ja nur lesend zu, kann also theoretisch maximal fehlerhafte Zeichen darstellen, wenn irgendwo anders was schief geht.
Macht der Compiler da Müll? Gibts ne andere Möglichkeit, Zeichensätze (große Datenmengen) einzubinden.
Wie würdet Ihr bei der Fehlersuche vorgehen?
Wenn wir schon dabei sind. Ich habe den Zeichensatz von Hand eingegeben, hatte nur einen Ausdruck zweier Zeichensätz zur Verfügung. Diese Arbeit ist ziemlich öde. Gibts im Netz irgendwo Zeichensätze zum runterladen?
weihnachtliche Grüße Michael