Переопределение SPI пинов

hnick
Offline
Зарегистрирован: 10.11.2013

Доброго времени суток!

Оцифровывваю аналоговое значение напряжение при помощи внешнего ADC по SPI:

11 — Mosi
12 — Miso
13 — SCK
10 — CS

Появилась необходимость подцепить одновременно два ADC к одной ардуине.
Казалось бы - плевое дело.
Но столкнулся с проблемой, когда я меняю пин SCK c 13 на, например, 9 и делаю соответствующие изменения в программе, то устройство отказывается работать.
Пробовал делать изменения в pins_arduino.h , результатов не дало.
Самое странное в этой истории то, что при измененном скетче (SCK соответствует пин 9), когда я механически провод переключаю от 9 к 13, то устройство начинает работать, несмотря на то, что везде для SCK определен пин 9.

Как дать понять плате, что я хочу использовать для SCK пин под номером 9, а не 13?

Спасибо.

Snubist
Offline
Зарегистрирован: 18.02.2013

Не понятно зачем ты меняешь пин тактирования? 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

надо cs менять

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Сидят Петька и Василь Иваныч... Петька думает, думает и говорит:
- слыш Василь Иваныч, может отпустишь меня на пару дней спирту попить?
- не петька, я на неделю в командировку сьеб..ю, мне напишишь научную работу к моему приезду тады отпущу!!
Петька подумал, шоб такое заваять....
- лады Василь Иваныч, по рукам!!
... прошла неделя ...
приезжает Василь Иваныч с командировки, видит на столе лежит доклад...
"Опыты с животными, проводил Петька"
день1:
поймали таракана, свистим - убегает!
день2:
оторвали таракану лапу, свистим - убегает!!
день3:
оторвали таракана 3 лапы, свистим - убегает!!!
день4:
оторвали таракану 5 лап, свистим - убегает!!!!
день5:
оторвали таракану все ноги, свистим - а он на месте?!
день6:
...рассуждал, пил...
день7:
Вывод: таракан без ног не слышит!

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

Автор похоже не представляет что такое SPI - хоть бы википедию открыл для начала...

Во вторых SPI это аппаратная функция микроконтроллера и не на всех микроконтроллерах их можно мультиплексировать на любой вывод. На атмегах как правило мультиплексирование ограничено конкретным выводом и он имеет несколько функций, но не наоборот - аппаратную функцию нельзя назначить произвольному выводу. Хотите на другой вывод - используйте програмный SPI, который на порядок медленнее.