почитай режимы мастер/слейв spi там тот кто мастер - тот генерирует такт, кто слейв - ловит (понятно, что мега будет мастером)
Вот что есть в даташите (перевод гугла):
"• SCK - порт B, бит 5
SCK: выход главного тактового сигнала, входной контакт ведомого тактового сигнала для канала SPI. Когда SPI включен в качестве ведомого, этот вывод
Настроен как вход независимо от настройки DDB5. Когда SPI включен как мастер, направление данных
Этого вывода контролируется DDB5. Когда SPI принудительно вводит вывод, подтягиванием можно управлять
Битом PORTB5."
Получается что когда этот бит настроен как мастер, то он будет сам такты выдавать?.
Мне просто понять хочется, если я конфигурирую порт В под spi интерфейс, то при правильной разводке схемы процессор сам разберется как ему данными обмениваться? или я не правильно понимаю))
Добавлено after 26 minutes 20 seconds:Соединение для SPI памяти:
MOSI -> DI
MISO <- DO
SCK -> CLK
CS -> CS
CS будет управляться программно, как обычный GPIO.
Если познания неглубокие, то сначала может быть проще сделать программную реализацию SPI, то есть самостоятельно дергать ножками для формирования нужных сигналов. Когда будет отлажен код взаимодействия и придёт понимание работы SPI, то уже можно будет задействовать аппаратный модуль.
То есть СS мне нужно будет прижимать к земле(используя вообще любой порт?) перед чтением 1 бита данных? А затем обратно его инвертировать после получения результата? Или нужно использовать только вывод • SS/OC1B – Port B, Bit 2, тогда как я кварц туда подключу, ведь он будет им занят.
SCK это порт В 5 бит , вот что я перевел но не совсем понял формулировку, так как написано много, а перевод не корректный:
"• SCK - порт B, бит 5
SCK: выход главного тактового сигнала, входной контакт ведомого тактового сигнала для канала SPI. Когда SPI включен в качестве ведомого, этот вывод
Настроен как вход независимо от настройки DDB5. Когда SPI включен как мастер, направление данных
Этого вывода контролируется DDB5. Когда SPI принудительно вводит вывод, подтягиванием можно управлять
Битом PORTB5."
Если я правильно понял Вас и этот пунк даташита, то при конфигурировании порта под задачи spi на ножке процессора будет постоянно генериться сигнал тактирования (ну или в случае обращения к памяти). И влиять на этот процесс не нужно?
Еще мини вопрос, если я отдам весь порт В под микросхему памяти, а использовать для обмена буду только 4ре вывода, то можно будет использовать остальные выводы порта под другие задачи?
Извините за глупые вопросы. Хочется понять как работать с этим интерфейсом прежде чем я нарисую схему и запущу проект в avr studio.