Пины SPI, переназначение.
- Войдите на сайт для отправки комментариев
Добрый вечер. Вопрос не нов. Нужно подключить ethernet модуль и microsd модуль.
Вопросы:
1. если я буду использовать SPI пины 17,18,19 нужно ли их переназначать в скетче? Или они работают параллельно (11,12,13 и 17,18,19). По умолчанию практически всегда используются 11, 12,13 пины. На практике оказалось что не надо, но прошу тут уточнить.
2. Использую библиотеку Ethercard c данным модулем. В библиотеке указано что по-умолчанию используется 8 пин в роли SS (CS). Если я правильно понял, то его переназначить можно только при вызове ether.begin(), или я просто тупень?
3. Для использования двух SPI устройств необходимо для работы устройства понижать уровень на пине CS устройства (для примера 4 пин - SD карта). Я нашел два варианта: digitalWrite(4, LOW) и SPI.begin(4), как правильно?
Или как вариант забить на эту порнуху и купить Ethernet shield w5100?
Нормальные либы сами дергают CS пин. Достаточно для каждого объекта, использующего SPI назначить разные CS пины. MISO, MOSI, CLK могут быть общие.
Второй вариант правильней - с ENC28J60 можно огрести больше проблем (если не знать, как их обходить).
Нормальные либы сами дергают CS пин. Достаточно для каждого объекта, использующего SPI назначить разные CS пины. MISO, MOSI, CLK могут быть общие.
Второй вариант правильней - с ENC28J60 можно огрести больше проблем (если не знать, как их обходить).
"Нормальность" понятие достаточно неточное. Насчет общих MOSI, MISO, CLK и разных CS я знаю, поэтому и не спрашивал. Вопрос в том, если они "не нормальные", то как правильно "дергать" CS пин?
Не запрягайте лошадь впереди телеги. Обнаружите, что они CS не дергают - будете суетится. Пока что по вопросу я вижу, что в голове у вас ничего не уложилось насчет расшаривания SPI между девайсами и Вы начинаете философствовать. Для того, чтобы уложилось - почитайте их исходник и убедитесь в том, что они внутри себя CS ложат и подымают, когда им это надо.