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.
Code:
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);
}
eigendlich dachte ich es wäre einfacher
Ports ändern von Ausgang auf eingang schalten und Bit-maske schieben (clk-Abhängig)
bei der Bitmaske habe ich jetzt das problem.