Hi Leute,
ich versuche gerade eine Bibliothek zu schreiben.
Datenstruktur:
"../arduino-1.0.3/libraries/AD7730/AD7730.h"
"../arduino-1.0.3/libraries/AD7730/AD7730.cpp"
"../arduino-1.0.3/libraries/AD7730/keywords.txt"
AD7730.h:
/*
AD7730.h - Library for Analog Devices AD7730
*/
#ifndef AD7730_h
#define AD7730_h
class AD7730
{
public:
void init(); // Initialisierung laut Definitionen
//void init(int SYNC,int POL,int RST,int STBY,int CSS,int RDY);
private:
void setPINs(void);
int _AD7730_NCS;
int _AD7730_NSYNC;
int _AD7730_POL;
int _AD7730_NRST;
int _AD7730_NSTBY;
int _AD7730_NRDY;
};
/*
Pinmap AD7730
#########################
SCK------01-###SCLK DGND###-24------GND
XTAL1----02-###MCLK IN DVDD###-23------5VD
XTAL1----03-###MCLK OUT DIN###-22-----MOSI
A0-------04-###POL DOUT###-21-----MISO
A1-------05-###/SYNC/ /RDY/###-20-------A2
RST------06-###/RESET/ /CS/###-19-------A3
NC-------07-###VBIAS /STANDBY/###-18------5VD
GND------08-###AGND /ACX/###-17-------NC
5VD------09-###AVDD ACX###-16-------NC
Vref/2---10-###AIN1(+) REF IN(-)###-15------GND
DMS------11-###AIN1(-) REF IN(+)###-14-----Vref
NC-------12-###AIN2(+)/D1 AIN2(-)/D2###-13-------NC
#########################
*/
//########### AD7730 Definitionen ######################
#define AD7730_PIN_NSTANDBY 0 //VCC
#define AD7730_PIN_NRESET 0 //Reset uC
#define AD7730_PIN_NCS A3
#define AD7730_PIN_NRDY A2
#define AD7730_PIN_NSYNC A1
#define AD7730_PIN_POL A0
#endif
AD7730.cpp:
/*
AD7730.cpp - Library for Analog Devices AD7730
*/
#include <SPI.h>
#include <Arduino.h>
#include "AD7730.h"
void AD7730::init()
{ _AD7730_NCS =AD7730_PIN_NCS;
_AD7730_NSYNC=AD7730_PIN_NSYNC;
_AD7730_POL =AD7730_PIN_POL;
_AD7730_NRST =AD7730_PIN_NRESET;
_AD7730_NSTBY=AD7730_PIN_NSTANDBY;
_AD7730_NRDY =AD7730_PIN_NRDY;
setPINs();
//SPI
SPI.setDataMode(SPI_MODE0);
SPI.setBitOrder(MSBFIRST);
SPI.setClockDivider(SPI_CLOCK_DIV16);
SPI.begin();
}
/*void AD7730::init(int SYNC,int POL,int RST,int STBY,int CSS,int RDY)
{
}
*/
void AD7730::setPINs(void){
if (_AD7730_NSTBY){
pinMode(_AD7730_NSTBY , OUTPUT);
digitalWrite(_AD7730_NSTBY, HIGH);
}
if (_AD7730_NRST){
pinMode(_AD7730_NRST , OUTPUT);
digitalWrite(_AD7730_NRST , HIGH);
}
if (_AD7730_NCS){
pinMode(_AD7730_NCS , OUTPUT);
digitalWrite(_AD7730_NCS , HIGH);
}
if (_AD7730_POL){
pinMode(_AD7730_POL , OUTPUT);
digitalWrite(_AD7730_POL , HIGH);
}
if (_AD7730_NSYNC){
pinMode(_AD7730_NSYNC , OUTPUT);
digitalWrite(_AD7730_NSYNC, HIGH);
}
pinMode(_AD7730_NRDY , INPUT);
}
wie gesagt, bin dabei...
dann rufe ich es in einem sketch auf:
#include <AD7730.h>
AD7730 ADC;
void setup(){
ADC.init();
}
....
Problem ist das ich in der init Funktion schon fehler bekomme: 'SPI' was not declared in this scope
was mache ich falsch?!