AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR
sensor/hsc/twi/demo_sensor_hsc_twi.c

Démonstration utilisation capteur pression HSC (TWI) Effectue des mesures et les affichent sur le terminal série, les valeurs sont affichées de façon tabulaire afin de pouvoir être traitée par un tableur.

#include <avrio/led.h>
#include <avrio/delay.h>
#include <avrio/tc.h>
#include <avrio/twi.h>
#include <avrio/hsc.h>
#include <avrio/assert.h>
/* constants ================================================================ */
#define BAUDRATE 115200
#define PORT "tty0"
void vLedAssert (int i);
/* main ===================================================================== */
int
main (void) {
int iError;
xHscSensor xSensor;
xHscValue xValue;
// Configuration du port série par défaut (8N1, sans RTS/CTS)
xSerialIos settings = SERIAL_SETTINGS (BAUDRATE);
// Ouverture du port série en sortie
FILE * serial_port = xFileOpen (PORT, O_WRONLY, &settings);
stdout = serial_port; // le port série est la sortie standard
stderr = serial_port;
sei();
printf ("\nTest unitaire HSC I2C\n");
iError = eTwiSetSpeed (100);
assert (iError == 0);
iError = iHscInitTwiSensor (&xSensor, 0, 1600, HSC_DEFAULT_TWIADDR);
assert (iError == 0);
for (;;) {
iError = iHscGetRaw (&xSensor, &xRaw);
if (iError) {
printf ("Sensor Error: %d\n", iError);
}
else {
vHscRawToValue (&xSensor, &xRaw, &xValue);
printf ("Press %.02f Temp %.02f\n", xValue.dPress, xValue.dTemp);
}
delay_ms (500);
}
return 0;
}
/* ========================================================================== */