Moin Leute,
habe mir ein DigitalPoti zum Einstellen eines Musiksignals geholt das
"MCP41HV51". Soweit si gut.
Ich bekomme das Teil einfach nicht zum laufen... CLK Signal ist das und
Daten kommen auch an. (Bild vom Ossi folgen...) Ist eventuell ein Fehler
in meinem Programm Code? Ich nutze den CCS Compiler... mit einem
PIC16F873A
1 | #include <16F873A.h>
|
2 | #use delay(clock=4000000)
|
3 | #fuses HS, NOWDT,NOPROTECT,NOLVP, DEBUG, NOPUT
|
4 | #use spi(BITS=16, stream=SPI_STREAM)
|
5 |
|
6 |
|
7 | void main(void)
|
8 | {
|
9 |
|
10 | output_low( PIN_C1 ); //CS
|
11 | output_low( PIN_C3 ); //SCK
|
12 | output_low( PIN_C4 ); //SDI
|
13 | output_low( PIN_C5 ); //SDO
|
14 |
|
15 | setup_spi(SPI_MASTER | SPI_H_TO_L | SPI_CLK_DIV_64);
|
16 |
|
17 |
|
18 |
|
19 | while(TRUE)
|
20 | {
|
21 | output_low( PIN_C1 ); //CS auf LOW setzen = POTI AKTIV
|
22 | spi_write( 0x4 ); //Adresse aus dem Datenblatt Richtig?
|
23 | spi_write( 128 ); //Daten
|
24 | output_high( PIN_C1 );//CS auf HIGH setzen = POTI INAKTIV
|
25 | delay_ms(250);
|
26 |
|
27 | }
|
28 | }
|
Angeschlossen ist das Poti wie folgt:
µC: POTI:
VL -> +5V
PIN_C3 ------------> SCK
PIN_C1 ------------> !CS
PIN_C4 ------------> SDI
PIN_C5 ------------> SDO
!WLAT -> GND
!SHDN -> GND
DGND -> GND
-V -> GND
P0B -> offen
P0W -> Multimeter (Ohm) 1
P0A -> Multimeter (Ohm) 2
V+ -> +5V
Habt ihr einen Ansatz für mich wo ich suchen muss?
Gruß
Dieter M.