Можно ли использовать SPI и Serial.begin одновременно?

spi

У меня есть два модуля, которыми я хочу управлять через один Arduino UNO.

Я думаю, Serial.begin(9600) использует последовательный порт и UART. Но я не уверен насчет SPI.

Могу ли я использовать библиотеку SPI, следовательно, связь SPI вместе с последовательной связью (serial.begin) одновременно для связи с двумя разными модулями?

, 👍0


1 ответ


Лучший ответ:

3

Да. UART и SPI — это совершенно разные вещи. Один использует контакты 0/1, другой — контакты 11/12/13, и они используют отдельные аппаратные и управляющие регистры внутри чипа.

,

Спасибо, можно ли использовать для SPI какой-либо другой контакт, кроме контакта 11? В настоящее время я использую 8, 9, 10 и 11 для другого модуля., @user1245

№11/12/13 являются СПИ. Этого нельзя изменить. Всегда. Это написано на камне (ну, на кремнии, из которого состоит большая часть камня). Вы *можете* побитно использовать SPI, используя shiftIn() и shiftOut() на других выводах, если вам не нужна высокая скорость или полнодуплексный режим, если вы действительно этого хотите., @Majenko

Понятно, тогда я попробую поменять контакты другого модуля., @user1245

@atomant, если вы используете «Программный SPI», вы можете использовать его в качестве проводного SPI по умолчанию на своем модуле. иначе, если вы используете «Аппаратный SPI», вы можете определить другую распиновку как провод SPI!, @abu-ahmed al-khatiri