§2. Operating with a driver It is very easy to work with a driver:
#include ‹stdio.h›
#include ‹errno.h›
#include ‹S_libdrvio.h›
int main(int argc, char* argv[]){
char* path_drv = "/dev/PCL-818H";
drv_t drv;
float data;
/* 1 - open a driver /
if ((drv = drv_open(path_drv)) == NULL) {
fprintf(stderr, "Can't open driver (%s)\n",
strerror(errno));
exit(1);
}
/* 2 - read analog data of 0 –channel */
if(drv_analog_read(drv,0,0,&data)){
fprintf(stderr, "Error reading data (%s)\n",
strerror(errno));
}
/* 3 - close */
drv_close(drv);
return 0;
}
As one can notice to receive for instance analog data from the driver it is necessary to implement a sequence of three library enquiries: drv_open(), drv_analog_read(), drv_close(). | |