그래서 임베디드 리눅스 파일 (Nitrogen6x 보드)에 쓰려고합니다. echo 1 > /sys/class/gpio/gpio16/value
을 사용하여 수동으로이 작업을 수행 할 수 있습니다. 그러나 C 코드를 통해이 동일한 작업을 시도하면 다음과 같이됩니다.이 파일이 쓰지 않는 이유는 무엇입니까?
FILE *fs;
fs = fopen("/sys/class/gpio/gpio16/value","w")
fputc(1,fs);
fclose(fs);
이 작동하지 않습니다. 그것은 어떤 오류나 아무것도주지 않는다, 그것은 단지 작동하지 않는다. 아무도 전에 이것을 만난 적이 있습니까? 이 문제를 해결하려면 어떻게해야합니까? 수동으로하는 것처럼 "echo"할 수있는 방법이 있습니까?하지만 코드에서이 작업을 수행합니까? 계속 진행하는 가장 좋은 방법은 무엇입니까?
도움 주셔서 감사합니다.
바이너리 또는 텍스트 모드로 쓰고 있습니까? 프린터가 인쇄 할 수없는 값을 출력 중입니다. –
가장 먼저 할 일은'fs'가'NULL'이 아닌지 확인하는 것입니다. 즉, 파일을 성공적으로 열 수 있었습니까? – Floris
처음에는 'FILE'이 아니라'FILE *'입니다. 나는이 컴파일 된 충격을 받았다. – WhozCraig