test
ltc2309.cpp
- Committer:
- nk_ralph
- Date:
- 2021-06-08
- Revision:
- 0:54613210d97a
File content as of revision 0:54613210d97a:
#include "mbed.h" #include "ltc2309.h" volatile unsigned int IKPa0[8]; I2C LTC2309(PB_9,PB_8); // rem S/D O/S S1 S0 UNI SLP tableau de config pour les 8 entrées volatile char LTC2309config[] = {0b10001000,0b11001000,0b10011000,0b11011000,0b10101000,0b11101000,0b10111000,0b11111000}; // calcul pression a partir de autozero float pression(unsigned int IKPa, unsigned int IKPa_0) { float IKPai = IKPa; // AutoZéro float IKPa_0i = IKPa_0; // Pression lue en temps réél return (IKPai-IKPa_0i); // AutoZéro - Pression lue en temps réél = Valeur en Pascal } // Pour recuperer la valeur de la première case LTC2309config[0]; void LTC2309Init(void) { LTC2309.frequency(LTC2309Frequence); } void LTC2309Autozero(void) { // mesure a vide soufflerie arretee IKPa0[0] = LTC2309read(CH0c); // AutoZéro de l'entrée 0 IKPa0[1] = LTC2309read(CH1c); // AutoZéro de l'entrée 1 IKPa0[2] = LTC2309read(CH2c); // AutoZéro de l'entrée 2 IKPa0[3] = LTC2309read(CH3c); // AutoZéro de l'entrée 3 IKPa0[4] = LTC2309read(CH4c); // AutoZéro de l'entrée 4 IKPa0[5] = LTC2309read(CH5c); // AutoZéro de l'entrée 5 IKPa0[6] = LTC2309read(CH6c); // AutoZéro de l'entrée 6 IKPa0[7] = LTC2309read(CH7c); // AutoZéro de l'entrée 7 } // entree 0 a 7.... float LTC2309read(unsigned NumEntree) { LTC2309.start(); LTC2309.write(LTC2309Adresse); // adresse + r/w = 0 en lecture LTC2309.write(LTC2309config[NumEntree]); // mot de config de l'entre LTC2309.stop(); LTC2309.start(); LTC2309.write((LTC2309Adresse+1)); // r/w a 1 pour lectur unsigned a = LTC2309.read(1) * 16 + LTC2309.read(1)/16; // decale a droite de 4 bit. LTC2309.stop(); return pression(a,IKPa0[NumEntree]); }