Цитата
Висят "1" на моси и сцл и всё.
Атмеловцы ввели всех в заблуждение, оставив обозначения на ногах MOSI и MISO. На самом деле в 3-проводном режиме пин DO(MISO)
всегда работает как выход (несмотря на то, что "master in"), а DI(MOSI) - на вход. Видимо, этими обозначеними (miso,mosi,sck) следует пользоваться только для подключения программатора.
Поэтому DDRA=0x30,
РА5/DO/MISO - выход
РА6/DI/MOSI - вход (не забудьте перепаять провода

)
А "1" висит на сцл потому, что перед началом обмена нужно очистить флаг USIOIF. В вашем случае начиная со второго вызова spi() цикл внутри while ((USISR.USIOIF)==0) выполнятся не будет, соответственно, и на сцл Вы ничего не увидите.