2013-04-17 80 views
2

可以使用Arduino Nano上的SPI硬件嗎?Arduino納米:是SPI支持?

Nano page它說:

SPI:10(SS),11(MOSI),12(MISO),13(SCK)。這些引腳支持SPI 通信,雖然這些通信由底層硬件提供,但是目前尚未包含在Arduino語言中的 。

還有一個SPI library

請問有人能解釋這個矛盾嗎?我認爲,無論是

  • 納米頁面是過時的
  • SPI庫是不支持的納米SPI硬件,但支持其它板卡
  • SPI庫在軟件的納米只實現

這是哪一個?

由於

回答

3

正確的答案是 「一些上述的組合」:

  • Arduino的納米是基於ATmega168的/ 328芯片,它不支持的SPI在硬件上。
  • SPI庫僅支持硬件SPI(無論Arduino型號如何)。請注意,您可以在沒有任何問題的情況下調整SPI(相對)較慢的SPI,這將是一個相對容易的軟件實現。
  • SPI庫的狀態應與Wire library的狀態相同:不是核心Arduino服務的一部分(與PWM,ADC和數字GPIO相反),但仍廣泛支持。

所以也許你的多項選擇題中最接近的答案是「過時」。 SPI的狀態應與I2C的狀態相同。

+2

2010年的情況確實如此,但到了2013年這段時間,並不是真正的時間。在2010年9月底之前,Arduino開始將SPI列爲Duemilanove上這些引腳的官方庫支持功能,此前他們列出了軟件不支持的硬件功能。他們似乎只是未能更新可比功能Nano的頁面。 –

2

這應該是一個評論,但我沒有代表。

正如angelatlarge所說,SPI庫和Nano一樣支持其他任何Arduinos。除了:

納米(與所有Arduinos一樣)的LED連接到數字引腳13.由於對於Nano,引腳13也是SPI的SCLK,因此您可能會遇到高波特率的問題。如果這對您來說是個問題,請嘗試卸下LED。

從Nano的頁面:Source

...

  • SPI:10(SS),11(MOSI),12(MISO),13(SCK)。這些引腳支持SPI通信,儘管由底層硬件提供,但目前尚未包含在Arduino語言中。

  • LED:13.內置LED連接到數字引腳13.當引腳爲高電平時,LED亮,引腳爲低電平時熄滅。

1

Nano的產品頁面是過時的,但它具有相同的硬件和軟件 SPI支持爲其他基於ATMEGA328P-ATmega168的/ Arduinos。

在backback機器中的一些考古學發現,功能上相似的Duemilanove的產品頁面從硬件 - 但不是軟件提到改爲在2010年9月15日到26日期間提及SPI庫支持。當Uno出來時,其產品頁面基於Duemilanvoe當時的狀態,因此一直聲稱支持。

應該已經對Nano頁面進行了相應的更新,但是這似乎被忽略了。