[an error occurred while processing this directive]
|
// Интерфейс с шиной SPI
sbit SSel = P1^3;
sbit SClC = P1^0;
sbit Mas_Out = P1^2;
sbit Mas_In = P1^1;
//=============================================================================
// Выпихивает байт по SPI, старшим битом вперед
// Возвращает считанный байт
// Сигнал SS должен формировать тот, кто вызывает пп, самомтоятельно
//=============================================================================
unsigned char SPI_IO(unsigned char sout_data)
{
unsigned char i;
unsigned char sin_data;
for(i = 0; i < 8; ++i)
{
if(sout_data & 0x80)
Mas_Out = 1;
else
Mas_Out = 0;
SClC = 0;
sin_data <<= 1;
SClC = 1;
if(Mas_In)
sin_data |= 0x01;
sout_data <<= 1;
}
return(sin_data);
}
E-mail: info@telesys.ru