Цитата(controller_m30 @ Mar 6 2016, 00:53)

Этот код, как мне кажется, выводит импульс синхронизации с опережением на один бит по отношению к битам данных. Потому данные получаются сдвинутыми на один бит вправо - т.е. поделенными на 2.
100%
Формирование строба
до формирования данных - абсурд.
А после прочтения :
Цитата(straighter @ Mar 5 2016, 23:39)

Не знаю, как посчитать, сколько тактов процессора требуется?
Цитата(straighter @ Mar 5 2016, 23:39)

Я измерил длительность импульса "1" на PORTC.3 - получилось 250нс. Т.к. команда PORTC.3=1 (на ассемблере ей соответствует SBI 0x15,3) выполняется за два такта, то значит один такт равен 125нс, что соответствует частоте 8 Мгц.
мне кажется что это просто очередной ребус.