Ich bin gerade ziemlich am Verzweifeln: Am Datenbus des M16C habe ich ein 320x240 LCD mit SED1335 angeschlossen. Das LCD initialisiert, aber gelöscht wird es nicht, obwohl am Ende der Initialisierung der komplette Speicher mit 0 beschrieben wird. Ich habe alles jetzt schon dutzende mal überprüft, und bin eigentlich der Meinung, dass die Software OK ist. Die Hardware ist auch OK, das habe ich auch schon mehrmals überprüft. Das seltsamste ist aber, dass der Controller bis zur for Schleife alles einwandfrei ausführt, aber aus irgendeinem Grund alles ab hier ignoriert, bzw. alles was danach kommt. Oder er hängt sich auf. Aber warum ?
Ja, das war auch mein erster Gedanke. Der Controller läuft mit <1MHz, das sollte reichen...
Hab den Fehler jetzt gefunden: Da der uC bei jeder Schleife und auch beim Rücksprung von jedem Unterprogramm abgestürzt ist, kam ich drauf, dass das interne RAM nicht funktioniert. Im Processor Mode Register war ein Reserved Bit gesetzt, welches es nur beim 626 gibt. Beim 624 muss es auf 0 gesetzt werden... Schon merkwürdig was diese reserved Bits an Fehler verursachten: Setzt man das PLL bit beim 624 funktionieren die ADCs nicht... Allerdings kotzt mich der Compiler an, der scheinbar einige Fehler hat: Wenn ich diesem Unterprogramm eine 0 übergebe müssten doch alle Festplattenregister mit 0 beschrieben werden, außer dem ersten in dem eine 1 stehen sollte. Auf dem LCD sollte dasselbe erscheinen. Oder irre ich mich da ? void SetCHS (unsigned long LBAAdresse) {Check_Busy (); IDE_Sector=(LBAAdresse%NumSectors)+1; IDE_Device=(LBAAdresse/NumSectors)%NumHeads; IDE_CylinderLow=(LBAAdresse/NumSectors/NumHeads)&255; IDE_CylinderHigh=(LBAAdresse/NumSectors/NumHeads)/256; DispBCD (6, 3, 5, (LBAAdresse%NumSectors)+1); DispBCD (7, 3, 5, (LBAAdresse/NumSectors)%NumHeads); DispBCD (8, 3, 5, (LBAAdresse/NumSectors/NumHeads)&255); DispBCD (9, 3, 5, (LBAAdresse/NumSectors/NumHeads)/256); DispBCD (10, 3, 5, LBAAdresse); }
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.