为何用c编译的显示温度会出错呢
代码如下,maxsize,temp_path,o_rdonly有问题呢。。。。。晕死。。。。
[*]int main(void)
[*]{
[*] int fd;
[*] double temp = 0;
[*] char buf;
[*]
[*] // 打开/sys/class/thermal/thermal_zone0/temp
[*] fd = open(TEMP_PATH, O_RDONLY);
[*] if (fd < 0) {
[*] fprintf(stderr, "failed to open thermal_zone0/temp\n");
[*] return -1;
[*] }
[*]
[*] // 读取内容
[*] if (read(fd, buf, MAX_SIZE) < 0) {
[*] fprintf(stderr, "failed to read temp\n");
[*] return -1;
[*] }
[*]
[*] // 转换为浮点数打印
[*] temp = atoi(buf) / 1000.0;
[*] printf("temp: %.2f\n", temp);
[*]
[*] // 关闭文件
[*] close(fd);
[*]}
代码参考此处http://blog.csdn.net/xukai871105/article/details/38349209
已找到问题所在,但是用这个代码出来的温度,大概20min后,就会变成225不动了。。。。 设置代码隔几秒刷新一次呢?
页:
[1]