еще фишка, которую я почему-то не сразу догнал - данные на чтение и запись идут одновременно, при этом обычно нужно сперва записать что-то, а потом прочитать что-то... поэтому при записи на мастере мы читаем мусор или нули от слейва (тк данные в любом случае идут какие-то), а при чтении мастер должен что-то писать в интерфейс, соотвественно тоже обычно нули засылаются... тоесть по каждому сигналу синхронизации по одному биту уходит и на запись и на чтение полюбому, а тактирует линию всегда мастер... почему-то такую элементарную вещь я сразу донать не мог