Librairie de l'IOGS nécessaire pour utiliser le CNA AD7303
AD7303.h
- Committer:
- Thur
- Date:
- 2017-06-22
- Revision:
- 0:30a6c5c8c8eb
File content as of revision 0:30a6c5c8c8eb:
#ifndef MBED_AD7303_H #define MBED_AD7303_H /** Classe AD7303. * Utilisée par l'IOGS pour le DAC AD7303. * * Example: * @code * #include "mbed.h" * #include "AD7303.h" * * AD7303 dac8b(D10,D11,D12,D13); * char c; * * int main() * { * dac8b.initDAC(); * while(1) { * c=' '; * for(c=0; c<255; c++) { * dac8b.changeDACA_IntRef(c); * } * } * } * @endcode */ #include "mbed.h" /* Modes de fonctionnement */ #define INT_REF 0x00 // Internal reference voltage Vref ? VDD/2 #define EXT_REF 0x80 // External reference voltage #define POWER_DOWN_DACA 0b00001000 // Switch off DACA #define POWER_DOWN_DACB 0b00010000 // Switch off DACB #define UPDATE_DACA 0b00000011 // Update DACA from shift register #define UPDATE_DACB 0b00100111 // Update DACB from shitf register class AD7303{ public: /** Déclare un CNA AD7303 * * @param Cs Broche de la carte Nucleo L476RG reliée à la broche Cs du CNA AD7303 * @param Miso Broche de la carte Nucleo L476RG reliée à la broche Miso du CNA AD7303 * @param Mosi Broche de la carte Nucleo L476RG reliée à la broche Mosi du CNA AD7303 * @param Sck Broche de la carte Nucleo L476RG reliée à la broche Sck du CNA AD7303 */ AD7303(PinName Cs,PinName Mosi, PinName Miso, PinName Sck); /** Fonction d'initialisation du CNA AD7303 * Internal Vref / Power-Up on both DACA and DACB * Load DACA and DACB with VDD/2 on outputs * @note l'appel de cette fonction est essentielle pour utiliser le CNA AD7303 */ void initDAC(void); /** Changement mode de configuration * * @param mode mode de fonctionnement souhaite * @param val valeur en sortie (8 bits) * @returns rien */ void changeModeDAC(char mode, char val); /** Modification de la tension de sortie du DACA - Reference interne * * @param val valeur sur 8 bits de la tension a appliquer * @returns rien */ void changeDACA_IntRef(char val); /** Modification de la tension de sortie du DACB - Reference interne * * @param val valeur sur 8 bits de la tension a appliquer * @returns rien */ void changeDACB_IntRef(char val); /** Modification de la tension de sortie du DACA - Reference externe * * @param val valeur sur 8 bits de la tension a appliquer * @returns rien */ void changeDACA_ExtRef(char val); /** Modification de la tension de sortie du DACB - Reference externe * * @param val valeur sur 8 bits de la tension a appliquer * @returns rien */ void changeDACB_ExtRef(char val); private: DigitalOut CS_DAC; //CS SPI ad7303; // mosi, miso, sclk }; #endif