Der folgende code funktioniert leider auch nicht zufriedenstellend, egal ob ich das SSPIF bit vor dem laden von SSPBUF oder nach dem setzen von SSPIF wieder lösche, die CS Leitung ist jetzt gut doppelt so lange low wie sie sein sollte.
Code:void spi_send(unsigned char data){ LATCbits.LATC2 = 0; // set CS low SSPBUF = data; // write the data byte to be transmitted to SSPBUF while(!PIR1bits.SSPIF); // wait for SSPIF bit to be set PIR1bits.SSPIF = 0; // reset SSPIF bit LATCbits.LATC2 = 1; // set CS high }







Zitieren

Lesezeichen