2012-10-20 1 views
0

이에서 pwm/sys/class/pwm /을 볼 수 있습니다.프로그램 내에서 C/sys/class/pwm init

저는 현재 적절한 데이터에 올바른 데이터를 넣고 있으며 잘 작동합니다.

그건 문제가되지 않습니다. 문제는/sys/class/pwm/{port}/요청 파일이 활성화되기 전에/sys/class/pwm/{port}/요청 파일에서 "cat"을 수행해야한다는 것입니다. 재부팅하면 작동하지 않으므로 다시 시작해야합니다.

나는 그것이 효과가 있기를 바랄 뿐이었다. ("~ request", "r") fopen했다. "w"도 열어. 나 또한 exec()를 시도했지만 작동하지 않았고 clunky 여하튼. 나는 필요한 가정을하고 싶지 않다.

여기에 내 execv() 코드가 있습니다.

char *request[1]; 
request[0] = pwmbus; 
execv("/bin/cat",request); 

파일을 cat하는 가장 우아한 방법은 무엇입니까? 나는 그것이 출력하는 정보가 필요하지 않습니다. 방금 sysfs를 초기화합니다. 그렇지 않으면 나는 수동으로 이것을하거나 스크립트를 항상 붙잡아 야 할 것이다.

cat /sys/class/pwm/gpio_pwm.0:0/request 
sysfs 719 
당신은 파일에서 한 바이트를 읽을 수
+1

어쩌면'INT FD = 개방 ("/ SYS/클래스/PWM", O_RDONLY); char buf [1]; read (fd, buf, 1); 닫기 (fd); ' –

+0

@napierzaza 누구에게 이야기하고 있습니까? 이 질문은 특정 사람 만 이해할 수 있습니까? – bubble

+0

@ H2CO3 덕분에 그걸 시도하지 않았어. 공장. – napierzaza

답변

1

:

int fd = open("/sys/class/pwm", O_RDONLY); 
char buf[1]; 
read(fd, buf, 1); 
close(fd); 
관련 문제