Hallo,
ich möchte gerne die IO's eines VS1011 ansprechen. Als Controller
verwende ich einene PIC18F4550. Ausspielen von Mp3 und der Ganze
Schnick-Schnack läuft.
Nur irgendwie bekomme ich keine hi Pegel an die IOs, nur ca 0,6V, was
mich darauf schließen lässt, dass sie weiterhin als Eingänge definiert
sind.
Sehe ich das richtig, dass ich erst die Basis RAM Adresse setzen muss
(also 0xC017 für IO Direction in Register 0x07) und dann den Wert in das
RAM Read/Write Register (0x06) ?
Ich nutze den unten dargestellten Code, aber es tut sich nichts. Die
Unterfunktionien funktionieren. Wer kann mir weiterhelfen ???
Codeausschnitt:
1 | call vs1011.ready
|
2 | bcf XCS
|
3 | movlw 0x02 ; GPIO auf Ausgang
|
4 | call vs1011.send
|
5 | movlw 0x07 ; Base Address für RAM Read/write
|
6 | call vs1011.send
|
7 | movlw 0xC0 ;
|
8 | call vs1011.send
|
9 | movlw 0x17 ; Direction Reg
|
10 | call vs1011.send
|
11 | bsf XCS
|
12 | call vs1011.ready
|
13 | bcf XCS
|
14 | movlw 0x02 ;
|
15 | call vs1011.send
|
16 | movlw 0x06 ; RAM RW
|
17 | call vs1011.send
|
18 | movlw 0xFF ;
|
19 | call vs1011.send
|
20 | movlw 0xFF ; Ausgang
|
21 | call vs1011.send
|
22 | bsf XCS
|
23 |
|
24 | movlw D'1'
|
25 | call wait
|
26 |
|
27 | call vs1011.ready
|
28 | bcf XCS
|
29 | movlw 0x02 ; Hi Pegel
|
30 | call vs1011.send
|
31 | movlw 0x07 ; Base Address für RAM Read/write
|
32 | call vs1011.send
|
33 | movlw 0xC0 ;
|
34 | call vs1011.send
|
35 | movlw 0x19 ; OutData Reg
|
36 | call vs1011.send
|
37 | bsf XCS
|
38 | call vs1011.ready
|
39 | bcf XCS
|
40 | movlw 0x02 ;
|
41 | call vs1011.send
|
42 | movlw 0x06 ; RAM RW
|
43 | call vs1011.send
|
44 | movlw 0xFF ;
|
45 | call vs1011.send
|
46 | movlw 0xFF ; Ausgang
|
47 | call vs1011.send
|
48 | bsf XCS
|
Grüße
Stampede