Ktam3874/pitx software guide – Kontron KTAM3874-pITX User Manual
Page 68

KTD-S0057-I
Page 64 Linux® Programming Examples (DebianTM)
KTAM3874/pITX Software Guide
int gpio_open_write (int gpio_pin)
{
char
str[128];
sprintf (str, dev_val, gpio_pin);
fd [gpio_pin] = open (str, O_WRONLY);
if (fd [gpio_pin] < 0)
return
-1;
return
0;
}
int gpio_write (int gpio_pin, int value)
{
char
str[8];
if ((value < 0) || (value > 1))
return
-1;
sprintf (str, "%d", value);
if (write (fd [gpio_pin], str, strlen (str)) != strlen (str))
return
-1;
return lseek (fd [gpio_pin], 0, SEEK_SET);
}
void gpio_close_write (int gpio_pin)
{
close (fd [gpio_pin]);
}
int gpio_open_read (int gpio_pin)
{
char
str[128];
sprintf (str, dev_val, gpio_pin);
fd [gpio_pin] = open (str, O_RDONLY);
if (fd [gpio_pin] < 0)
return
-1;
return
0;
}
int gpio_read (int gpio_pin, int *value)
{
char
str[8];
if (read (fd [gpio_pin], str, sizeof (str)) < 0)
return
-1;
str [1] = '\0';
*value = atoi (str);
return lseek (fd [gpio_pin], 0, SEEK_SET);
}