Hy zusammen,
ich versuche ein SW-SPI-Slave zu schreiben, aber es haut nicht hin.
Ne Master Version habe ich gefunden und die wollte ich zum Slave umschreiben.
eigendlich dachte ich es wäre einfacherCode:unsigned int SPI_Write_Word(unsigned int word) { unsigned char i; unsigned int mask; unsigned int temp; SPI_SS_PORT &= ~(1<<SPI_SS_PIN); //SS auf Low Schalten Start der Übertragung mask = 0x8000; temp = 0; for(i=0;i<15;i++) { if(mask | word) SPI_MOSI_PORT|=(1<<SPI_MOSI_PIN); else SPI_MOSI_PORT&=~(1<<SPI_MOSI_PIN); if(SPI_MISO_PIN == 1) temp |= mask; SPI_CLK_PORT |=(1<<SPI_CLK_PIN); //CLK-Takt HIGH SPI_CLK_PORT &=~(1<<SPI_CLK_PIN); //CLK LOW mask >>= 1; } SPI_SS_PORT |= (1<<SPI_SS_PIN); //SS auf High Schalten Ende der Übertragung return(temp); }![]()
Ports ändern von Ausgang auf eingang schalten und Bit-maske schieben (clk-Abhängig)
bei der Bitmaske habe ich jetzt das problem.







Zitieren

Lesezeichen