Diese Funktion hab ich jetzt mal in zwei unterteilt:Meine "Vom-SPI-Empfangs"-Funktion...
Die is doch bestimmt Gruetze, oder?
Kritiken und Anmerkungen ausdruecklich Erwuenscht!
Es läuft jetzt bis zu der While-Schleife in der getChar-Fkt., doch aus dieser kommt er nie heraus!Code:char *getString( void ) { char *string; char singleChar; int i = 0; while( 1 ) { singleChar = getChar(); if ( singleChar == 0x00 ) break; string[i] = singleChar; i++; } cout<<string; return string; } char getChar( void ) { char r; while ( MA_OK != MA_TestChar_SPI() ); r = MA_GetChar_SPI(); return r; }
Ich habe mal nachgeschaut und in der entsprechenden c-Datei fuer das ganze SPI-Zeug steht, das ich fuer die MA_GetChar_SPI-Fkt. halt die MA_TestChar_SPI-Fkt. nutzen soll, doch hängt er scheinbar immer in dieser sich an dem SPIF-Flag auf (im AVRStudio hab ich gesehen, dass dieses nie gesetzt wird)
Hier mal die TestChar-Fkt.:
Ich schau hier echt wien Schwein ins Uhrwerk, wenn ihr nen Tipp habt...Code:S8 MA_TestChar_SPI( void ) /* **--------------------------------------------------------------------------- ** ** Abstract: ** Test if serial transfer is complete. ** ** Parameters: ** None ** ** Returns: ** MA_OK Serial transfer is complete ** MA_EMPTY Serial transfer is not complete ** **--------------------------------------------------------------------------- */ { S8 Status; /*--- Handle user code on function entry ---*/ ENTER_MA_TESTCHAR_SPI; if( SPSR & __BIT_MASK( SPIF ) ) { /*--- Serial transfer is complete ---*/ Status = MA_OK; } else { /*--- Serial transfer is not complete ---*/ Status = MA_EMPTY; } /*--- Handle user code on function exit ---*/ EXIT_MA_TESTCHAR_SPI; /*--- Thread safe return ---*/ return Status; } /* MA_TestChar_SPI */
BITTE MELDEN!!!
BGMF[/b]







Zitieren

Lesezeichen