Hallo Wolfgang,
vielen Dank für deine schnelle Antwort.
ja, wie das Problem zu lösen ist, ist echt eine gute Frage. Ich habe
alles nochmals durchgeschaut und auch das Timing bestimmt hundert mal
kontrolliert. Nix!
Ich hab das Timing zu Fuss Programmiert auf einem AVR. CS Low, Tcss
sicher verstreichen lassen und dann Clock für Clock... laut Datenblatt
halt. Mit den Patterngeneratur macht er das gleiche. Wobei man sagen
muss, bei den Timing kann man auch nicht viel falsch machen! :)
Kann du vielleicht mal dein Quellcodeschnippsel posten, soweit es nicht
Gehiem ist? :)
Hier mal mein Part in C (Assembler's bin ich aber auch Mächtig!)
[C-CODE START]
void GetTempMAX6630( void ){
volatile unsigned char i;
cbi( PORTF, Bitmask_TempCS );
asm( "nop" );
for ( i = 0; i < 16; i++ ){
sbi( PORTF, Bitmask_TempSCK );
asm("nop");
// Sample Bit auf TempSO
temp = inp( PINF );
if( temp & Mask_TempSO ){
StreamBufferTEMP[ i ] = HIGH;
asm( "nop" );
}
else{
StreamBufferTEMP[ i ] = LOW;
asm( "nop" );
}
cbi( PORTF, Bitmask_TempSCK );
asm("nop");
}
sbi( PORTF, Bitmask_TempCS );
asm( "nop" );
TempReceiveFlag = TRUE;
}
[C-CODE ENDE]
Sag mir jetzt bitte, ich hab was Übersehen, dann wäre ich Froh!
Dank&Gruß Micha,