Forum: Mikrocontroller und Digitale Elektronik VS1011 Clock-Register nicht beschreibbar


von M. Н. (Gast)


Lesenswert?

Hallo Leute. Habe heute nach ein wenig probieren den VS1011 dazugebracht 
mir eine MP3 abzuspielen :) doch sobald die erste Freude verflogen war, 
stellte ich fest, dass das Lied doppelt so lang dauerte wie normal, 
gleich mal alles gecheckt. DREQ Abfrage ok DREQ Signal auch. dann habe 
ich nach der Initialisierung das CLOCKF Register ausgelesen. ergebnis 2 
mal 0x00. Ich kann, was ich auch anstelle das Register nicht auf 0x9800 
setzen. Da es jetzt 0 ist, denkt der VS1011, er würde mit 24,576MHz 
laufen. Deswegen ist bei meinem 12,288 MHz Quarz alles zu langsam und zu 
tief.

Hat jemand eine Idee woran es liegen könnte?? muss man das CLOCKF 
register sofort nach dem RESET setzen oder erst nachdem man alle anderen 
gesetzt hat?

Code:
1
clock:
2
cbi portd, cs
3
nop
4
nop
5
ldi r16, 2
6
rcall send
7
ldi r16, 0x03
8
rcall send
9
ldi r16, 0x98
10
rcall send
11
ldi r16, 0
12
rcall send
13
nop
14
sbi portd, cs
15
warten:
16
sbis pind, dreq
17
rjmp warten

und die sende Routine:
1
send:                  ;Senderoutine für SPI
2
out spdr, r16
3
send1:
4
sbis SPSR, SPIF
5
rjmp send1
6
in r16, SPDR
7
ret

P.S. Ich benutze einen ATmega32-16PU mit 14,7456 MHz. Und alle anderen 
Register (Lautstäre, SCI_MODE9 kann ich beschreiben.

So hoffentlich tut sich jemand den langen Text an!
Und schonim voraus vielen Dank für Ratschläge

von M. Н. (Gast)


Lesenswert?

Meine Lösungsansätze wären:

Neuen kaufen

oder 24,7456MHz Quarz dranhängen

Gruß M.H.

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.