在Arduino中实现SPI库(类如何工作?)

时间:2015-01-16 03:14:06

标签: class memory arduino shared-libraries spi

我目前正在尝试自学Arduino / C编程/汇编。我正在开发一个需要大量数据收集的项目,通过研究我发现了一个名为Microchip的“23K256”芯片(见这里:http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039)。此外,我还发现存在一个利用这个芯片的Arduino库(见这里:http://playground.arduino.cc/Main/SpiRAM)。我下载了“spiRAM3a.zip”文件,我相信这是最新的文件。请注意,我最近才下载了Arduino软件,因此安装了最新版本(我相信它是1.0.6)。还要注意我正在使用Arduino Uno,虽然我最终需要使用Arduino Mega(我只是希望这个在任何时候工作)。这个库有一些代码可以用来读取和写入23K256(文件名是“我下载的包中包含的SpiRAM_Example”),有效地增加了Arduino上的SRAM。这是实际的,准确的代码:

#include <SPI.h>
#include <SpiRAM.h>

#define SS_PIN 10

byte clock = 0;
SpiRAM SpiRam(0, SS_PIN);

void setup()   {                
  Serial.begin(9600);
}

void loop()                    
{
  char data_to_chip[17] = "Testing 90123456";
  char data_from_chip[17] = "                ";
  int i = 0;

  // Write some data to RAM
  SpiRam.write_stream(0, data_to_chip, 16);
  delay(100);

  // Read it back to a different buffer
  SpiRam.read_stream(0, data_from_chip, 16);

  // Write it to the serial port
  for (i = 0; i < 16; i++) {
    Serial.print(data_from_chip[i]);
  }
  Serial.print("\n");
  delay(1000);                  // wait for a second
}

我的问题是,当我编写代码,测试我的配置并尝试学习它的使用时,我出乎意料地得到了一个错误。这就是我得到的:

SpiRAM_Example:7:错误:'Spi​​RAM'未命名类型

SpiRAM_Example.ino:在函数'void loop()'中:

SpiRAM_Example:20:未在此范围内声明'SpiRAM'

所以它基本上告诉我SpiRAM SpiRam(0, SS_PIN);代码行有问题。我的问题是,为什么?我是否误解了关于课程如何运作的一些非常基础的东西?我觉得我一定不能做某事,因为我非常怀疑在Arduino的网站上会发布一段不正确的代码。如何编译此代码,或者至少能够使用此库?我应该发布库本身的代码(“SpiRAM.h”),它包含在我下载的软件包中吗?

我真的很感激我能得到的任何帮助,如果这是一个非常愚蠢的问题,我真诚地道歉。我认为这是我第一次上课。

1 个答案:

答案 0 :(得分:0)

你下载了附件:spiRAM3a.zip还是原版?我安装了这个和你的代码。它符合IDE 1.05