Étape 2: Étape 2: à l’aide de deux spi, générateur de modules-oscilloscope et de forme d’onde
Dans cette étape, nous utiliserons les deux Pmods, pour ce faire, nous aurons pour ouvrir l’un des exemples pour Pmods (ADC ou DAC) et pour ajouter la bibliothèque de l’autre.
Dans ce projet, j’ai choisi d’utiliser SPI1 pour DAC et SPI0 pour ADC
Voir les connexions dans l’image.
SPI1 : Port série synchrone. Il s’agit d’une interface supplémentaire de SPI sur le microcontrôleur PIC32 pouvant être évalués
à l’aide de l’objet DSPI1 de la bibliothèque standard du DSPI. Il n’est pas accessible à l’aide de la bibliothèque standard de SPI. Plusieurs des signaux SPI1 sont partagés de différentes manières avec les autres fonctions périphériques. SS1 est raccordé au connecteur J9, axe 15, l’emplacement du connecteur pour broche numérique 7, via une résistance de 1K Ohms. Ce signal est accessible via le numéro 71 de la broche numérique. SDO1 est accessible via la broche numérique 3. Ce conflit avec une des sorties PWM accessibles à l’aide de analogWrite(). SDI1 est accessible via la broche numérique 38. SCK1 est connecté au connecteur J7, broche 1, l’emplacement du connecteur pour broche numérique 8, via une résistance de 1K Ohms. Ceci entre en conflit avec interruption externe INT3. Ce signal peut être consulté via NIP numériques 72
Vous pouvez ajouter une certaine bibliothèque dans un projet existant ou un nouveau projet de : croquis > la bibliothèque d’importation.
et il suffit de coller le code de mise en jachère :
#include < ADCSPI.h >
#include < DACSPI1.h >
#include < DSPI.h >
DACSPI1 myDACSPI1 ; l’objet de la bibliothèque
float dMaxValue = 3 ;
float dMinValue = 0 ;
float dStep = 0,005 ;
Valeur float ;
ADCSPI myADCSPI ; l’objet de la bibliothèque
unsigned int wValue ; non signé 16 bits variable pour stocker la valeur entière
float fValue ; variable float pour stocker la valeur physique
sMsg Char [100] ; chaîne de caractères pour garder le message qui s’affiche sur le moniteur de la série
void setup()
{
Créez une connexion pour afficher les données sur le moniteur de la série.
Serial.Begin(9600) ; initialiser le PmodDACSPI1 sur SPI
myADCSPI.begin(PAR_ACCESS_SPI0) ; correspond à DSPI0 - connecteur JB myDACSPI1.begin(PAR_ACCESS_SPI1) ; correspond à DSPI1 - connecteur J1
}
void loop()
{
augmenter la valeur physique de moins à la valeur maximale
pour (valeur = dMinValue ; valeur < = dMaxValue ; dStep += valeur)
{
Envoyer valeur au convertisseur DA
myDACSPI1.WritePhysicalValue(dValue) ;
Delay(20) ;
attendre un certain temps
fValue = myADCSPI.GetPhysicalValue () * 15 ; lire la valeur physique
sprintf (sMsg, « %f\r », fValue) ; en forme du texte à afficher
Serial.println(SMSG) ;
texte à afficher sur le moniteur de la série
Delay(20) ;
}
diminuer la valeur physique de maximum à la valeur minimale
pour (valeur = dMaxValue ; valeur > = dMinValue ; dStep = valeur)
{
Envoyer valeur au convertisseur DA
myDACSPI1.WritePhysicalValue(dValue) ;
Delay(20) ; attendre un certain temps
fValue = myADCSPI.GetPhysicalValue () * 15 ; lire la valeur physique
sprintf (sMsg, « %f\r », fValue) ; en forme du texte à afficher
Serial.println(SMSG) ; texte à afficher sur le moniteur de la série
Delay(20) ;
}
}
Après que vous avez collé le code, vous programmez le Conseil : et vous devez lancer le logiciel Osciloscope série.
Dans ce film court à minute 01:55 vous pouvez voir comment utiliser le logiciel Osciloscope série
Merci d’être intéressé à mon « instructables ».