Gast
#2446900
PIC2550. Das ganze läuft unter der USB-Firmware, ich denke aber nicht, dass es daran liegen kann. Meine SPI-Übertragung funzt im Debugger nicht, er hängt sich auf bei: => while (!SSPSTATbits.BF); //rcvDataByte (Dummy) erwarten. Solange das Buffer-Full-Bit 0 ist soll er dort warten. Leider will er dort bis zum jüngsten Tag warten. Hier habe ich auch schon alles durchgesehen zum SPI-Thema: http://ww1.microchip.com/downloads/en/DeviceDoc/spi.pdf SPI-Mode-1.1 MASTER ist bei mir eingestellt: SSPCON1 = 0b00110001; //Enable SPI-1.1 Master (FOSC/16) SSPSTAT = 0b01000000; ============================================== void GetDataFromSPI (unsigned char Befehl) { unsigned char varSSPBUF; varSSPBUF = SSPBUF; //Receive/Send (BF)-Bit löschen. SSPBUF = Befehl; //Befehl senden. while (!SSPSTATbits.BF); //rcvDataByte (Dummy) erwarten. varSSPBUF = SSPBUF; //Receive/Send (BF)-Bit löschen. } ============================================== Anmerkungen: WCol = 0 (immer 0, seh' ich ja im Watch-Fenster) #define SetTRISB() TRISB = 0b11111111; //TrisB Einstellung. //RB0: 1; SPI: SDI Data IN //RB1: 0; SPI: SCK Clock #define SetTRISC() TRISC = 0b01111111; //TrisC Einstellung. //RC7: 0; SPI: SDO Data OUT ============================================== Langsam habe ich das Gefühl, der Debugger müsste mal debugged werden. Hab' mich schon dumm und dämlich nach dem Fehler gesucht. Danke für die Hilfe