5

可以使用 Arduino Nano 上的 SPI 硬件吗?

Nano 页面上,它说:

SPI:10(SS)、11(MOSI)、12(味噌)、13(SCK)。这些引脚支持 SPI 通信,虽然由底层硬件提供,但目前不包含在 Arduino 语言中。

然而有一个SPI 库

请问有人能解释一下这个矛盾吗?我想,要么

  • 纳米页面已过时
  • Nano SPI 硬件不支持 SPI 库,但在其他板上受支持
  • SPI 库仅在软件中为 Nano 实现

它是哪一个?

谢谢

4

3 回答 3

6

正确答案是“以上的某种组合”:

  • Arduino Nano 基于 ATmega168/328 芯片,在硬件上支持 SPI。
  • SPI 库仅支持硬件 SPI(无论 Arduino 型号如何)。请注意,您可以 bitbang(相对)慢速 SPI 没有任何问题,这将是一个相对简单的软件实现。
  • SPI 库的状态应被视为与Wire 库的状态相同:不是核心 Arduino 服务的一部分(与 PWM、ADC 和数字 GPIO 相比),但仍然得到广泛支持。

因此,您的多项选择题中最接近的答案可能是“过时”。SPI 的状态应该与 I2C 的状态相同。

于 2013-04-18T02:36:52.840 回答
3

这应该是评论,但我没有代表。

正如 angelatlarge 所说,SPI 库对 Nano 的支持与对任何其他 Arduino 的支持一样。除了:

Nano(与所有 Arduino 一样)有一个连接到数字引脚 13 的 LED。由于对于 Nano,引脚 13 也是 SPI 的 SCLK,因此您很可能会遇到高波特率的麻烦。如果这对您来说是个问题,请尝试移除 LED。

来自 Nano 的页面:来源

...

  • SPI:10(SS)、11(MOSI)、12(味噌)、13(SCK)。这些引脚支持 SPI 通信,虽然由底层硬件提供,但目前不包含在 Arduino 语言中。

  • LED:13。有一个内置LED连接到数字引脚13。当引脚为高电平时,LED亮,当引脚为低电平时,它关闭。

于 2015-03-31T15:51:43.060 回答
1

Nano 的产品页面已经过时,但它与其他基于 ATmega168/ATmega328p 的 Arduino 具有相同的硬件和软件SPI 支持。

Wayback 机器中的一些考古显示,在 2010 年 9 月 15 日至 26 日期间,功能类似的 Duemilanove 的产品页面已从提及硬件而非软件更改为提及 SPI 库支持。当 Uno 出现时,其产品页面是基于 Duemilanvoe 当时的状态,所以它一直声称支持。

Nano 页面应该进行了相应的更新,但这似乎被忽略了。

于 2016-05-20T14:05:54.740 回答