2013-04-17 82 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页面进行了相应的更新,但是这似乎被忽略了。