Честно говоря использую SPI только для “прошивки” микроконтроллеров.
Появилась одна идея, но нужно взаимодействие между двумя микроконтроллерами. У самого “хилого” микроконтроллера мало лапов и для какой-либо связи имеется только SPI.
Правильно ли я понимаю, что для “однонаправленного” общения (отсылки “команд” от ведущего ведомому) достаточно соединить только:
MOSI — MOSI
SCK ----- SCK
Ну и само собой: GND — GND
Немного не понятно - как быть с CS (SS)? Ну то есть по идеи (так как их всего двое: один передает, второй принимает) его нужно соединить с GND на ведомом сразу, так?
А где у Attiny13 пин CS (SS) ???
А его и в атмеге можно переназначить. Это управляющий пин - подал на него низкий уровень, отправил команду, снова перевел его на высокий уровень. Т.е. по его состоянию ведомое устройство понимает, что сейчас будет отправка данных
У неё нет SPI для юзера. У неё только “внутренний” SPI для её программирования. Пин CS ей при этом просто не нужен - для программирования используется Reset.
Заставить её работать SPI-слейвом совсем непросто (если вообще возможно). Я бы делал программный SPI-slave. Тогда Вам не нужен пин для CS. Достаточно SCK и MOSI. Хотя, лучше бы найти пин - он даёт хороший сигнал “начало передачи пакета”.
Вполне. Тут от ситуации зависит, от того что крутится. Вспоминается, на 1-м мипсе крутилась куча задач и ещё планировалось подключить 16 штук 1602 по паразитному питанию. И ничё, работало (тестировал на одном правда). Жаль, в эксплуатацию не пошло.)