Gast
#330865
Ich versuche ein CD Laufwerk mit einem AVR anzusteuern. Dazu habe ich mir die ganzen Spezifikationen und auch einige Beispielprogramme besorgt. Self Diagnostic und IDENTIFY PACKET DEVICE funktionieren. Wenn ich den PACKET COMMAND Befehl sende, erwartet das Laufwerk 12 Bytes (also 6 Words) ehe DRQ im Status Register gelöscht wird. Das Laufwerk versteht also den PACKET COMMAND Befehl. Das funktioniert alles auch soweit, aber nachdem ich die 6 Words gesendet habe wird das ERROR Flag im Status Register gesetzt und DRQ nie aktiviert. Das passiert, egal welche Werte ich sende. Das Error Register hat dann immer den Wert 0x50 oder 0x60 (je nachdem welche Werte ich sende.) Die Hardware und Low Level Routinen kann ich als Fehlerquelle ausschließen, da ich diese aus einer anderen Schaltung (die funktioniert hat) übernommen habe. Die Daten kommen auch richtig an den Pins an. Wenn ich das richtig verstanden habe, kommt das erste Byte des Packet Commands an das Low Byte, das zweite ans High Byte usw. Hat schon jemand sowas auf einem AVR (in C) gemacht und hat das zum Laufen bekommen oder ähnliche Probleme gehabt ?