本文來(lái)源電子發(fā)燒友社區(qū),作者:劉建華, 帖子地址:https://bbs.elecfans.com/jishu_2305836_1_1.html
【目的】通過(guò)C編程讀取CPU溫度,掌握Linux下對(duì)系統(tǒng)文件的讀取。
1、在ubnutu18下新建一個(gè)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、拷貝一個(gè)makefile文件過(guò)來(lái),修改為:
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 傳給開(kāi)發(fā)板:
4、修改gettemp文件權(quán)限:chmod 777 gettemp
5、運(yùn)行./gettemp
6、這樣就成功讀取到CPU的溫度。
【總結(jié)】C下面對(duì)系統(tǒng)文件的讀取、編譯,這開(kāi)發(fā)板用起來(lái)還是比較方便的。
附操作視頻。
【讀取溫度操作視頻,詳見(jiàn)作者原帖子文章】
-
飛凌
+關(guān)注
關(guān)注
0文章
133瀏覽量
16087
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論