Здравствуйте!Уважаемые знатоки.
Помогите определиться со следующими вопросами по интерфейсу SPI.
На графиках передачи данных можно заметить, что Master и Slave могут осуществлять передачу данных одновременно.
т.е и Master и Slave передают данные друг другу.
В связи с этим возникли следующие вопросы :
- Как сделать одновременно прием и передачу? Ведь регистр данных один и адрес у него один.
- Что будет если прочитать регистр данных Slave если передача от Master еще не закончена?Ведь флаг SPIF устанавливается для передатчика, а не приемника.
- Что будет если во время приема байта от мастера я буду записывать в регистр данных байт который я хочу передать мастеру.
- Как убедиться,в том, что мастер закончил прием байта от slave?
- Не получится ли так, что придется самому придумывать протокол обмена м\у устройствами. Я имею в виду пересылать флаги окончания передачи, готовности и т.д.?
- Какое максимальное расстояние м/у приемником и передатчиком?
Большое спасибо.
PS MK - ATMega8.