Forum: Mikrocontroller und Digitale Elektronik IDE-Interface am ATmega16


von Sven P. (Gast)


Angehängte Dateien:

Lesenswert?

Salut,

seit ein paar Tagen versuche ich vergebens, ein CD-ROM-Laufwerk bzw. 
eine Festplatte an den ATmega16 anzuschließen. Dazu hab ich mir bereits 
allerhand Dokumentation inklusive Beispielprojekten besorgt.

Aktueller Stand:
* ATmega16, per IDE-Kabel ans Laufwerk angeschlossen (Pins sind korrekt, 
alle durchgemessen)
* Takt: 1MHz vom internen RC
* Ja, das JTAG am PORTC hab ich abgestellt :-)
* Prozessor läuft, Programmieren usw. geht klar
* Laufwerk läuft auch, ist neuwertig

Jetzt zum Problem:
Den Quelltext (Pinbelegung steht drinne) hab ich mal hierher geladen 
(Anhang)

Prinzipiell soll dieser Code die primäre Festplatte auswählen (Z-216) 
und dann rekalibrieren (Z-221). Anschließend soll die LED ausgeschaltet 
werden, zur Kontrolle, dass es fuktioniert hat.

Lade ich das Programm aber in den Controller und starte das Gerümpel, 
bleibt die LED eingeschaltet. Ich konnte den Fehler auf die 
ata_wait_busy-Routine eingrenzen; dort verharrt der Controller und 
wartet ewig darauf, dass das Laufwerk sein BUSY-Flag löscht, was aber 
scheinbar nicht passiert. Ich denke aber eher, es gibt Probleme bei der 
Datenübertragung.

Ich hoffe, irgendwer kann mir da weiterhelfen...in diesem Sinne, Danke 
für alle Antworten.

Viele Grüße, Haku

von Michael U. (amiga)


Lesenswert?

Hallo,

 cbi  ATA_CTRL, ATA_WR
 nop
 sbi  ATA_CTRL, ATA_RD <- !!!!!!!!!!

wird wohl nicht klappen...

Gruß aus Berlin
Michael

von Sven P. (Gast)


Lesenswert?

Das is schomma gut^^ Dank dir. Aber klappen tuts leider immer noch net.

Lg Haku

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
Noch kein Account? Hier anmelden.