|
Всем привет!
Пишу тут процедурку записи в SPI для сабжа, вроде код верный, а как прогоняю процедуру через аппаратный эмулятор, так в SPDR ничего не заносится, соотв. данные из атмела не уходят. Переключаюсь в simulator, опять прогоняю процедуру -- и вуаля, в SPDR всё записывается. Кто может объяснить, где порылась собака?
Вот сам код процедуры:
E-mail:
info@telesys.ru
unsigned char Read_530(unsigned char address)
{
int value = 0x10, temp = 0x00;
x2 = 0x22;
SPSR |= (1<
SPSR |= (1<
SPI &= ~(1<
i = 0;
x1 = address<<1;
x1 = 0x80+x1;
x2 = 0x24;
SPDR = x1;
x2 = 0x25;
while (!(SPSR&(1<
temp = SPDR;
x2 = 0x27;
// NOP();
SPDR = 0x00;
while (!(SPSR&(1<
value = SPDR; //MISO
SPI |= (1<
x1 = value;
return value;
}
Ответы