pwm1.c 814 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #include<stdio.h>
  2. #include<unistd.h>
  3. #include<sys/types.h>
  4. #include<sys/stat.h>
  5. #include<fcntl.h>
  6. int main(int argc,char *argv[])
  7. {
  8. int ret;
  9. int fd;
  10. ret = access("/sys/class/pwm/pwmchip1/pwm0",F_OK);
  11. if(ret != 0 )
  12. {
  13. fd = open("/sys/class/pwm/pwmchip1/export",O_WRONLY);
  14. write(fd,"0",1);
  15. close(fd);
  16. }
  17. fd = open("/sys/class/pwm/pwmchip1/pwm0/polarity",O_WRONLY);
  18. write(fd,"normal",6);
  19. close(fd);
  20. fd = open("/sys/class/pwm/pwmchip1/pwm0/period",O_WRONLY);
  21. write(fd,"1000000000",10);
  22. close(fd);
  23. fd = open("/sys/class/pwm/pwmchip1/pwm0/duty_cycle",O_WRONLY);
  24. write(fd,argv[1],sizeof(argv[1]));
  25. close(fd);
  26. fd = open("/sys/class/pwm/pwmchip1/pwm0/enable",O_WRONLY);
  27. write(fd,"1",1);
  28. close(fd);
  29. return 0;
  30. }