LCD an M16C

Gast #134747
Lesenswert?
• ▲
▼
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 ?
Angehängte Dateien:
Gast #134751
Lesenswert?
• ▲
▼
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);
    }

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.