VS1011 Clock-Register nicht beschreibbar

Gast #2212596
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren