Paso 3: Código: estructura
Todas las aplicaciones de chispa para la ppDAQC requieren tres archivos:
1. ppDAQC.ccp – un ligero conjunto de funciones de la biblioteca
2. ppDAQC.h – el archivo de cabecera con todos los prototipos de función
3. yourapplication.ino – el programa de aplicación
El programa de aplicación debe tener la siguiente estructura:
#include "ppDAQC.h"extern int ppFRAME; //____ppDAQC I/O ports that are initialized belowextern int ppCE; //void setup() { SPI.begin(); delay(1); // Wait 1msec SPI.setClockDivider(SPI_CLOCK_DIV64); delay(1); // Wait 1msec SPI.setDataMode(SPI_MODE0); //All of these function are required for //initializing the SPI/Pi-Plate interface pinMode(ppFRAME,OUTPUT); // pinMode(ppCE,OUTPUT); // digitalWrite(ppCE,HIGH); // //initialization for your application variables go below:}void loop() { // Your application code}
Aquí es un ejemplo de un programa que hace que los LED ' s en la cuenta de la Junta de ppDAQC en binario. También lee el valor de la fuente de 5VDC y guarda en una variable de tipo entero que se expone con el nombre de "Voltaje" para acceso externo:
#include "ppDAQC.h"int adData;extern int ppFRAME; //____ppDAQC I/O ports that are initialized belowextern int ppCE; void setup() { SPI.begin(); delay(1); // Wait 1msec SPI.setClockDivider(SPI_CLOCK_DIV64); delay(1); // Wait 1msec SPI.setDataMode(SPI_MODE0); //All of these function are required for //--initializing the ppDAQC interface pinMode(ppFRAME,OUTPUT); pinMode(ppCE,OUTPUT); digitalWrite(ppCE,HIGH); Spark.variable("Voltage", &adData, INT); //Expose voltage: Test for reading variable}void loop() { byte addr; // declare address of ppDAQC board - values can range from 0 to 7 addr=0; // set address to 0 for (int i=0;i<128;i++) // perform 128 times { setDOUTall(addr,i); // write index value to ppDAQC Digital Output (DOUT) delay(10); // Wait 10msec } adData=getADC(0,8); // Read the power supply voltage (on channel 8 of the ADC) // and write to adData}
El más reciente ppDAQC.cpp y ppDAQC.h archivos de la biblioteca están disponibles en: