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