static void gpio_export(int num)
{
FILE *fp;
char value[3];
fp = fopen("/sys/class/gpio/export", "ab");
if (fp== NULL)
{
printf("Cannot open export file\n");
}else{
rewind(fp);
sprintf(value,"%d",num);
fwrite(&value, sizeof(char),strlen(value), fp);
fclose(fp);
}
}
static void gpio_direction(int num,char *dir)
{
FILE *fp;
char path[64];
char direction[3];
sprintf(path,"/sys/class/gpio/gpio%d/direction",num);
fp = fopen(path, "rb+");
if (fp== NULL)
{
printf("Cannot open direction file\n");
}else{
rewind(fp);
strcpy(direction,dir);
fwrite(&direction, sizeof(char),strlen(direction), fp);
fclose(fp);
}
}
static void gpio_set_value(int num ,char value)
{
char gpio_value[2];
char path[64];
sprintf(path,"/sys/class/gpio/gpio%d/value",num);
FILE *fp=fopen(path, "rb+"); ;
if (fp == NULL)
{
printf("Cannot open value file\n");
}else{
rewind(fp);
sprintf(gpio_value,"%d",value);
fwrite(&gpio_value, sizeof(char), 1, fp);
printf("path=%s,value=%s\n",path,gpio_value);
}
fclose(fp);
}
linux应用对节点/sys/class/gpio/控制
最新推荐文章于 2024-07-22 11:51:18 发布