Hallo Gerhard,
Mit der SSCON war das so:
mit unsauber gearbeitet meine ich, dass ich keine anständigen Pegel
bekomme. Manchmal schwanken sie um 1,5V rum und manchmal um 5V. Der
Controller hat dann nur die 5V Pegel erkannt und diese können laut
Datenblatt des Bauteils nicht stimmen.
Ich simuliere jetzt die digitalen Leitungen. Ich arbeite ohne Interrupt,
da ich in das SPI - Bauteil nur einen 16 Bit Strom einlesen muss, danach
soll das Bauteil Werte ausgeben. Das ist zwar eine nicht so schöne
Lösung wie mit SSCON, aber ich bekomme jetzt wenigstens vernünftige
Pegel.
Ich habe dir mal den Quellcode kopiert.
************************************************************************
**
while(1){
P3_13 = 0; // CLK
warte();
P7_0 = 0; // CS
for(i=0;i<=16;i++){
P3_13 = 1; //clk high
P2_0 = data_in[i]; //daten an Bauteil
warte();
P3_13 =0; //Clk low
data_gyro[i] = P7_1; // Daten von Bauteil auf Port schreiben
if (data_gyro[i]==1)
printf("1");
else{
printf("0");
}
warte();
}
P7_0 = 1;
data_in[0]=0;
}
************************************************************************
**
Bei data_in und data_gyro handelt es sich um int Felder mit der Größe
16.
Der CLK hat laut Oszilloskop einen Pegel von 5V.
Leider kann ich nicht einmal diesen anzeigen, also scheint da
grundsätzlich etwas falsch zu sein.
Grüße
Stefan