金牌会员
- 积分
- 1289
- 金钱
- 1289
- 注册时间
- 2014-6-15
- 在线时间
- 143 小时
|
1金钱
本帖最后由 wang12zhe 于 2024-1-9 15:26 编辑
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
int main() {
int pwm_fd;
char path[100]; // 存放路径字符串
pwm_fd = open("/sys/devices/platform/backlight/backlight/backlight/actual_brightness", O_RDONLY); // 打开PWM设备文件
if (pwm_fd == -1) {
perror("Failed to open PWM device file.");
exit(-1);
}
char value;
read(pwm_fd, &value, 1); // 从PWM设备文件中读取数据到变量value
printf("Current PWM value is %d\n", value);
close(pwm_fd); // 关闭PWM设备文件
return 0;
}
root@ATK-IMX6U:~# cat /sys/devices/platform/backlight/backlight/backlight/actual_brightness
255
root@ATK-IMX6U:~# ./a.out
Current PWM value is 50
root@ATK-IMX6U:~#
cat 得到的是255,但我用C代码读取的值却是50,请问是哪里出问题了吗? |
最佳答案
查看完整内容[请看2#楼]
255
ASCII 2是0x32=50,所以结果正确。
你应该是fscanf(file,"%d",&vlaue);这个方法获取值
|