#include #include #include #include struct Sample{ int16_t x; int16_t y; int16_t z; }; int main(){ int fd; unsigned char buf[64]; size_t count = 6; ssize_t ret_size; struct Sample sample; if((fd = open("/dev/adxl345", O_RDWR)) == -1){ printf("/dev/adxl345 opening failed\n"); return(0); } else{ for(int i=0; i<100; i++){ if((ret_size = read(fd, &buf, count)) < 0){ printf("Error while reading the device file.\n"); return(1); } else if(ret_size < count){ printf("."); } else{ sample.x = (int16_t)(buf[1]<<8 | buf[0]); sample.y = (int16_t)(buf[3]<<8 | buf[2]); sample.z = (int16_t)(buf[5]<<8 | buf[4]); printf("Sample %i: %i %i %i\n",i,sample.x,sample.y,sample.z); } } } return(0); }