Arthur GAUTHERON / AD7303
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers AD7303.cpp Source File

AD7303.cpp

00001 #include "AD7303.h"
00002 #include "mbed.h"
00003 
00004 AD7303::AD7303(PinName Cs,PinName Mosi, PinName Miso, PinName Sck) : CS_DAC(Cs),ad7303(Mosi,Miso,Sck) {};
00005 /*
00006  * Initialisation du CNA
00007  *  Internal Vref / Power-Up on both DACA and DACB
00008  *  Load DACA and DACB with VDD/2 on outputs
00009  */
00010 void AD7303::initDAC(void)
00011 {
00012     // CS DAC
00013     CS_DAC = 1;
00014     wait_ms(10);
00015     CS_DAC = 0;
00016     ad7303.write(INT_REF | UPDATE_DACA);
00017     ad7303.write(0x80);
00018     CS_DAC = 1;
00019     wait_ms(10);
00020     CS_DAC = 0;
00021     ad7303.write(INT_REF | UPDATE_DACB);
00022     ad7303.write(0x80);
00023     CS_DAC = 1;
00024     wait_ms(10);
00025     return;
00026 }
00027 /*
00028  * Changement mode de configuration
00029  *  entrees :
00030  *      mode : mode de fonctionnement souhaite
00031  *      val : valeur en sortie (8 bits)
00032  */
00033 void AD7303::changeModeDAC(char mode, char val)
00034 {
00035     CS_DAC = 0;
00036     ad7303.write(mode);
00037     ad7303.write(val);
00038     CS_DAC = 1;
00039     return;
00040 }
00041 
00042 /*
00043  * Modification de la tension de sortie du DACA - Reference interne
00044  *  entree :
00045  *      val : valeur sur 8 bits de la tension a appliquer
00046  */
00047 void AD7303::changeDACA_IntRef(char val)
00048 {
00049     CS_DAC = 0;
00050     ad7303.write(INT_REF | UPDATE_DACA);
00051     ad7303.write(val);
00052     CS_DAC = 1;
00053     return;
00054 }
00055 
00056 /*
00057  * Modification de la tension de sortie du DACB - Reference interne
00058  *  entree :
00059  *      val : valeur sur 8 bits de la tension a appliquer
00060  */
00061 void AD7303::changeDACB_IntRef(char val)
00062 {
00063     CS_DAC = 0;
00064     ad7303.write(INT_REF | UPDATE_DACB);
00065     ad7303.write(val);
00066     CS_DAC = 1;
00067     return;
00068 }
00069 
00070 /*
00071  * Modification de la tension de sortie du DACA - Reference externe
00072  *  entree :
00073  *      val : valeur sur 8 bits de la tension a appliquer
00074  */
00075 void AD7303::changeDACA_ExtRef(char val)
00076 {
00077     CS_DAC = 0;
00078     ad7303.write(EXT_REF | UPDATE_DACA);
00079     ad7303.write(val);
00080     CS_DAC = 1;
00081     return;
00082 }
00083 
00084 /*
00085  * Modification de la tension de sortie du DACB - Reference externe
00086  *  entree :
00087  *      val : valeur sur 8 bits de la tension a appliquer
00088  */
00089 void AD7303::changeDACB_ExtRef(char val)
00090 {
00091     CS_DAC = 0;
00092     ad7303.write(EXT_REF | UPDATE_DACB);
00093     ad7303.write(val);
00094     CS_DAC = 1;
00095     return;
00096 }