2013-04-17 2 views
2

Может ли использоваться оборудование SPI на Arduino Nano?Arduino Nano: поддерживается SPI?

На Nano page он говорит:

SPI: 10 (СС), 11 (MOSI), 12 (MISO), 13 (SCK). Эти контакты поддерживают связь SPI , которая, хотя и предоставляется базовым оборудованием, составляет , который в настоящее время не включен в язык Arduino.

Еще есть SPI library.

Может кто-нибудь объяснить это противоречие? Я думаю, либо

  • Нано страница устарело
  • SPI библиотека не поддерживается для аппаратных средств Nano SPI, но поддерживается на других платах
  • SPI библиотека реализуется для Nano в программном обеспечении только

Что это?

Благодаря

ответ

3

Правильный ответ "некоторая комбинация выше":

  • Arduino Nano основан на ATmega168/328 микросхемы, которая не поддерживает SPI в аппаратном обеспечении.
  • Библиотека SPI поддерживает только аппаратное SPI (независимо от модели Arduino). Обратите внимание, что вы можете без проблем использовать битбанг (относительно) медленный SPI, это будет относительно простая реализация программного обеспечения.
  • Состояние библиотеки SPI должно быть таким же, как и состояние Wire library: не является частью основных услуг Arduino (в отличие от PWM, ADC и цифрового GPIO), но тем не менее широко поддерживается.

Так что, возможно, самый близкий ответ в вашем вопросе с множественным выбором - «устаревший». Статус SPI должен выглядеть так же, как статус I2C.

+2

Это было верно в 2010 году, но не совсем точное резюме к тому времени в 2013 году, когда вы написали это. Arduino начал перечислять SPI в качестве официальной, поддерживаемой библиотекой функции этих контактов на Duemilanove к концу сентября 2010 года, но ранее они указали аппаратные возможности, не поддерживаемые программным обеспечением. Кажется, что они просто не обновили страницу для сопоставимой функции Nano. –

2

Это должен быть комментарий, но у меня нет репутации.

Как сказал angelatlarge, библиотека SPI поддерживается так же, как и для любого другого Arduinos. За исключением:

Нано (как и все Arduinos) имеет светодиод, прикрепленный к цифровому контакту 13. Поскольку для Nano контакт 13 также является SCLK для SPI, вы можете столкнуться с проблемами с высокими скоростями передачи. Если это проблема для вас, попробуйте удалить светодиод.

С странице Нано: Source

...

  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Эти контакты поддерживают связь SPI, которая, хотя и предоставляется базовым оборудованием, в настоящее время не включена в язык Arduino.

  • Светодиод: 13. Имеется встроенный светодиод, подключенный к цифровому выходу 13. Когда контактный сигнал имеет значение HIGH, светодиод горит, когда контакт низкий, он выключен.

1

страница продукта Nano является устаревшей, но он имеет ту же аппаратные средства и программное обеспечение поддержки SPI как другая ATmega168/ATmega328P основы Arduinos.

Некоторая археология в машине с обратным доступом показывает, что функционально сопоставимая страница продукта Duemilanove была изменена с упоминания об оборудовании, но не в программном обеспечении, с упоминанием поддержки библиотеки SPI с 15 по 26 сентября 2010 года. Когда вышел Uno , его страница продукта была основана на текущем состоянии Duemilanvoe's, поэтому она всегда требовала поддержки.

Соответствующее обновление должно быть сделано на странице Nano, но это, похоже, было упущено.

Смежные вопросы