Paso 2: Paso 2: utilizando dos generador de módulos-osciloscopio y la forma de onda de spi
En este paso usaremos ambos Pmods, para ello tendremos que abrir uno de los ejemplos de Pmods (ADC o DAC) y para agregar la biblioteca de la otra.
En este proyecto decidió utilizar SPI1 para CAD y SPI0 para ADC
Ver las conexiones de la imagen.
SPI1: Puerto serie síncrono. Se trata de una interfaz SPI adicional en el microcontrolador PIC32 que puede evaluarse
uso del objeto DSPI1 de la biblioteca estándar de DSPI. No es accesible utilizando la biblioteca estándar de SPI. Varias de las señales SPI1 son compartidos en varias formas con otras funciones de periféricos. SS1 se conecta al conector J9, pin 15, la ubicación del conector para pin digital 7, a través de una resistencia de 1K ohm. Esta señal se accede por número de pin digital 71. SDO1 es accesible via pin digital 3. Este conflicto con una de las salidas PWM accede usando analogWrite(). SDI1 es accesible via pin digital 38. SCK1 se conecta al conector J7, pin 1, la ubicación del conector para pin digital 8, a través de una resistencia de 1K ohm. Este conflicto con interrupción externa INT3. Esta señal se puede acceder mediante el número pin digital 72
Puede Agregar una cierta biblioteca en un proyecto existente o un nuevo proyecto de: sketch > import library.
y solo pega el siguiente código:
#include < ADCSPI.h >
#include < DACSPI1.h >
#include < DSPI.h >
MyDACSPI1 de DACSPI1; el objeto de la biblioteca
Float dMaxValue = 3;
Float dMinValue = 0;
flotador de dStep = 0.005;
flotador dValue;
MyADCSPI ADCSPI; el objeto de la biblioteca
unsigned int wValue; sin signo de 16 bits variable para guardar valor entero
fvalor de flotador; variable flotante para almacenar valor físico
sMsg Char [100]; cadena de caracteres para guardar el mensaje que se muestra en el monitor serial
void setup()
{
Crear una conexión para mostrar los datos en el monitor serie.
Serial.Begin(9600); inicializar PmodDACSPI1 en SPI
myADCSPI.begin(PAR_ACCESS_SPI0); corresponde a DSPI0 - conector JB myDACSPI1.begin(PAR_ACCESS_SPI1); corresponde a DSPI1 - conector J1
}
void loop()
{
aumentar el valor físico de mínimo a máximo
para (dValue = dMinValue; dValue < = dMaxValue; dValue += dStep)
{
enviar valor al convertidor DA
myDACSPI1.WritePhysicalValue(dValue);
Delay(20);
esperar un tiempo
fvalor = myADCSPI.GetPhysicalValue () * 15; leer valor físico
sprintf (sMsg, fvalor y "%f\r"); formato texto que se mostrará
Serial.println(sMsg);
Mostrar texto en el monitor serial
Delay(20);
}
disminuir el valor físico de máximo al valor mínimo
para (dValue = dMaxValue; dValue > = dMinValue; dValue = dStep)
{
enviar valor al convertidor DA
myDACSPI1.WritePhysicalValue(dValue);
Delay(20); esperar un tiempo
fvalor = myADCSPI.GetPhysicalValue () * 15; leer valor físico
sprintf (sMsg, fvalor y "%f\r"); formato texto que se mostrará
Serial.println(sMsg); Mostrar texto en el monitor serial
Delay(20);
}
}
Después se pega el código, programa la Junta: y tienes que iniciar el software de osciloscopio Serial.
En esta película corta en el minuto 1:55 se puede ver cómo utilizar software de osciloscopio Serial
Gracias por interesarse en mi "instructables".