Цитата(Alex ma @ Aug 4 2007, 09:23)

1. самое интересное если не загрузить, в регистр SPDR = 0x00, тогда вообще нечего не получится, а так при загрузке устанавливается флаг регистр SPIF, SPSR, это вроде связанно с тем что буфер кольцевой и если что то нужно считать сначала нужно туда записать.
2. , 3. это упаковка двух восьми битных чисел в шестнадцати битное, при сдвиге в лево на восемь бит получаем 16 битное число, заполненное с право нулями т.е t=0xFF, тогда, возвращаемое значение = 0хFF00 и с этим числом операция "или" и значения в f т.е если f=0xA0, тогда (0xFF00 | f) = 0xFFA0
Во-первых, приношу извинения - спросонья не въехал - запись второго пустого (dummy) байта при первом чтении нужна -- информация о значении статусного регистра идет только вторым байтом
По второму пункту - ок. Но опять же, еще (хи-хи) сам Страуструп рекомендовал не жадничать на скобки ((t << 8) | f). Несколько озадачило все же, что при последовательном чтении этого регистра ты получал разные значения, причем изменения были не только в бите статуса, но и в бите PROTECT, и, что еще непонятнее, в битах, определяющих объем флешки. Это довольно странно