manyorange 发表于 2015-3-6 22:03:22

为何用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



manyorange 发表于 2015-3-7 11:08:27

已找到问题所在,但是用这个代码出来的温度,大概20min后,就会变成225不动了。。。。

yusanfengyi 发表于 2015-3-11 22:44:45

设置代码隔几秒刷新一次呢?
页: [1]
查看完整版本: 为何用c编译的显示温度会出错呢