本文来源电子发烧友社区,作者:刘建华, 帖子地址:https://bbs.elecfans.com/jishu_2305836_1_1.html
【目的】通过C编程读取CPU温度,掌握Linux下对系统文件的读取。
1、在ubnutu18下新建一个gettemp文件夹:下面新建gettemp.c文件。
gettemp.c:
#include
#include
#include
#include
#include
#define CPU_TEMP_FILE0 "/sys/class/thermal/thermal_zone0/temp"
#define CPU_TEMP_FILE1 "/sys/class/thermal/thermal_zone0/temp"
int main(int arc, char *argv[])
{
FILE *fp = NULL;
int temp = 0;
fp = fopen (CPU_TEMP_FILE0, "r");
if (fp < 0)
{
printf("open file failed,%sn", strerror(errno));
}
for (;;)
{
fscanf(fp, "%d", &temp);
printf("cpu temperature: [%d]n", temp);
sleep(2);
}
fclose(fp);
return 0;
}
2、拷贝一个makefile文件过来,修改为:
TARGET =gettemp
DEST_DIR ?=_install
#CC ?=arm-linux-gcc
CC =arm-linux-gnueabihf-gcc-5.3.1
build:
@$(CC) -o $(TARGET) gettemp.c
hold:
[url=home.php?mod=space&uid=70594]@echo[/url] "gettemp hold[skip]"
install:
[url=home.php?mod=space&uid=2293869]@MKDIR[/url] -p $(DEST_DIR)
@cp $(TARGET) $(DEST_DIR)
uninstall:
@rm -fr $(DEST_DIR)/$(TARGET)
distclean: uninstall
@rm -fr $(TARGET)
@rm -fr _install
3、编译,把gettemp 传给开发板:
4、修改gettemp文件权限:chmod 777 gettemp
5、运行./gettemp
6、这样就成功读取到CPU的温度。
【总结】C下面对系统文件的读取、编译,这开发板用起来还是比较方便的。
附操作视频。
【读取温度操作视频,详见作者原帖子文章】
全部0条评论
快来发表一下你的评论吧 !