Мне нужно включать и выключать gpio38 для этого использую код на с++ но раз через раз выскакивает ошибка segmentation fault (то есть первый раз запустил все нормально второй раз запустил ошибка третий все нормально четвёртый ошибка и так далее причем в коде ничего не меняя)
/* gpio38.c */
#include <stdio.h>
#include <stdlib.h>
#define GPIO_PATH "/sys/class/gpio"
#define GPIO38_PATH “/sys/class/gpio/gpio38”
int main( int argc, char * argv[] )
{
FILE * fp;
int a=0;
fp = fopen( GPIO_PATH"/export","w");
if ( fp == NULL ) {
printf(“can not open file\n”);
return EXIT_FAILURE;
}
fprintf( fp, "38");
fclose( fp );
fp = fopen( GPIO38_PATH”/direction”, “w”);
if ( fp == NULL ) {
printf(“can not open file\n”);
return EXIT_FAILURE;
}
if(a==1)
fprintf( fp, “high”);
else fprintf( fp, “low”);
fclose(fp);
fp = fopen( GPIO38_PATH”/value”, “w”);
if ( fp == NULL ) {
printf(“can not open file\n”);
return EXIT_FAILURE;
}
fclose(fp);
}
Подскажите в чем ошибка не могу понять почему такое странное поведение