Stránka 1 z 1
Softwérové SPI rozhraní
Napsal: 04 pro 2008, 17:57
od markoni
Zdravím
Potřebuji řešit programově SPI rozhraní existuje nějaká rutina? já věřím že jo když existuje na usart?
Napsal: 04 pro 2008, 23:18
od mihal
K comu rutinu? Ved to je trivialita - CS do nuly, nastavit hodnotu bitu na DataOut, klok, rotovat data,to vsetko 8x a CS do 1. Popri tom prijem, cosi mam v C ale je to jednoduche napisat na asm
unsigned char i;
rd_spi_ptr=0;
for (wr_spi_ptr=wr_spi_ptr; wr_spi_ptr>0;)
{
wr_spi_ptr--;
for (i=8;i>0;)
{
if (write_spi_data[wr_spi_ptr] & 1)
{//vyslem log1
MOSI_OUT|=MOSI;
}
else
{//vyslem log0
MOSI_OUT&=~MOSI;
}
SCK_OUT&=~SCK;
SCK_OUT|=SCK;
write_spi_data[wr_spi_ptr]=write_spi_data[wr_spi_ptr]>>1;
i--;
read_spi_data[rd_spi_ptr]=read_spi_data[rd_spi_ptr]<<1;
if (MISO_IN & MISO)
{//prijmem log1
read_spi_data[rd_spi_ptr]|=1;
}
else
{//prijmem log0
read_spi_data[rd_spi_ptr]&=~1;
}
}
rd_spi_ptr++;
}
toto mi cita a zapisuje bufer read/write_spi_data,chyba tam nastavenie CS
EDIT: Tie smajle su ) a ;