Цитата(vladimir_orl @ Sep 25 2013, 20:13)

Здравствуйте. Имеется SPI-slave устройство, которое я пытаюсь сэмулировать с помощью mega128. Единственное отличие между оригиналом и клоном, подключенными к SPI-мастеру - разница в уровнях на линии miso в паузах между посылками. В оригинале в паузах miso всегда выставляется в "1". А в AVR-овском SPI уровень MISO в паузе зависит от последнего бита. Отключать линию - тоже не вариант, т.к. надо быть постоянно "начеку". Т. к. мы не знаем когда начнётся следующая посылка. Режим передачи данных - третий. Кто-нибудь сталкивался с подобными вещами? Тема озвучена в ветке "AVR" а не в ветке "протоколы", т.к. насколько я понимаю это именно такая реализация в данном семействе МК.
chipselect если отпустить, то avr тогда и mosi должен отпустить болтаться (автоматически будет переключаться на вход), ну и чтобы в "1" был - подтянуть к питанию.
в единицу переключать mosi после последнего клока и с активным чипселектом никто не обязан.
Цитата
19.3 SS Pin Functionality
19.3.1 Slave Mode
When the SPI is configured as a Slave, the Slave Select (SS) pin is always input. When SS is held low, the SPI is
activated, and MISO becomes an output if configured so by the user. All other pins are inputs. When SS is driven
high, all pins are inputs, and the SPI is passive, which means that it will not receive incoming data. Note that the
SPI logic will be reset once the SS pin is driven high.