И все-таки (уж извините за тупость) как в реале обстоят дела? PA6(вход) предполагается входом данных PA7(вход) используется как приемник ~SS, при появлении 0 по прерыванию проводит инициализацию по даташиту: ldi TM,(1<<USIWM0)|(1<<USICS1) out USICR,TM Остальные биты порта А = выходы. Далее написанная херня исполняется прилежно: ldi TM,(1<<USIOIF) out USISR,TM Установили флаг SlaveSPITransfer_loop: in TM,USISR Его же тут же считали sbrs TM,USIOIF Сравнили с самим собой rjmp SlaveSPITransfer_loop И вышли из цикла В симуляторе никаких флагов не появляется, чтоб его обнулять, тыканье в PinA,4 (сформирован на выход, используется как slave-CLK ) изменений 4х разрядного счетчика (USICNT) не вызывает, ручная установка-обнуление счетчика флагов не вызывает ... И где тут сАбака зарылась?! Симулятор вообще симулирует в этом случае что-то?
--------------------
На "нет" и "нах" :)
|