xupei040700428 于 2011-10-30 11:20:37发表:
我把程序贴出来如下:
int set_light(char level)
{
char data, ch;
int fd;
fd = open("/sys/class/lcd/brightlightness",O_RDWR);
if(fd < 0)
printf("open fail\n");
if(read(fd, &ch, 1) < 0)
printf("read fail\n");
printf("ch = %d\n",ch);
data = level;
if(write(fd, &data, 1) < 0)
printf("write fail\n");
printf("errno=%s\n",strerrno(errno));
}
可以读到数据,并且通过adb shell cat /sys/class/lcd/brightlightness 看到读到的值与打印出的ch值一致,
但是运行程序,会打印出write fail的log,并且errno错误为invalid arguments.
不明白这个错误是怎么回事,请指教