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
Hallo, cbi ATA_CTRL, ATA_WR nop sbi ATA_CTRL, ATA_RD <- !!!!!!!!!! wird wohl nicht klappen... Gruß aus Berlin Michael
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.