2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > c语言查看cpu温度代码_树莓派学习笔记——短短几行C语言代码获取树莓派的CPU温度...

c语言查看cpu温度代码_树莓派学习笔记——短短几行C语言代码获取树莓派的CPU温度...

时间:2023-02-26 07:26:48

相关推荐

c语言查看cpu温度代码_树莓派学习笔记——短短几行C语言代码获取树莓派的CPU温度...

玩转树莓派

标签: 树莓派CPU温度

前言

本文通过文件操作读取树莓派CPU温度,在linux系统中任何设备的操作都被抽象成为文件读写,通过读取/sys/class/thermal/thermal_zone0/temp文件中的内容便获得树莓派CPU的温度。本文通过以下几个部分说明如何读取和应用该温度参数——1.shell脚本操作;2linux文件IO操作

shell操作

先通过shell操作热身一下。登录树莓派之后使用指令查看CPU温度,依次输入以下指令:

# 进入目录

cd /sys/class/thermal/thermal_zone0

# 查看温度

cat temp

# 树莓派返回

48692

从以上操作可以获得以下几点

【1】树莓派的CPU温度信息位于文件 /sys/class/thermal/thermal_zone0/temp中,该文件为一个只读文件。

【2】根据网上的资料和实际情况,返回的温度参数应该除以1000,单位为摄氏度。

2 C语言文件IO操作

新建一个名为cpu-temp.c文件,文件的具体内容如下:

#include

#include

#include

#include

#include

#define TEMP_PATH "/sys/class/thermal/thermal_zone0/temp"

#define MAX_SIZE 32

int main(void)

{

int fd;

double temp = 0;

char buf[MAX_SIZE];

// 打开/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);

}

【运行代码】

在cpu-temp.c目录下输入以下指令生成可执行文件,接着执行该文件。

# 编译链接

gcc -o test cpu-temp.c

# 执行

./test

# 执行返回

temp: 49.2

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。