linux 查看cpu_看看你的嵌入式设备CPU温度是多少,能烤肉吗?
點擊上方「嵌入式大雜燴」,「星標公眾號」第一時間查看嵌入式筆記!
大家應該都看過一些大佬發的電腦CPU烤肉的視頻,電腦CPU的溫度真的有那么高嗎?我們一起來看一下咱們電腦CPU的溫度是多少?
PC端CPU溫度的方式有很多種,比較簡單的可能就是Windows下安裝一些跑分軟件,通過這些軟件可以看到CPU的溫度,比如魯大師:
另外,Linux下也有很多手段查看,這里不做介紹。
下面我們介紹一些我么跑Linux的嵌入式設備CPU溫度的方法。要獲取得到CPU溫度肯定需要傳感器(不知道CPU的溫度是不是這樣采的)、相關驅動等。這些偏底層的我們就不去研究了,先用起來。
Linux內核中一般都帶有CPU溫度檢測的驅動,與CPU相關的設備文件/sys、/proc中。
我這里用的是百問網的開發板,其出廠帶的系統CPU溫度對象的虛擬文件在/sys/devices/virtual/thermal/thermal_zone0中,我們該目錄下的temp文件就可以得到CPU的溫度。比如:
cat?/sys/devices/virtual/thermal/thermal_zone0/temp這里的54242代表的是54.242℃。
我們讀取查看一個文件的內容,可以直接在shell命令行查看,也可以通過編程的方式查看。編碼之前我們看一個圖:
這是學習嵌入式Linux必須要熟知的一個基礎圖。我們編寫應用程序可以有兩種方法:一種是直接系統調用層接口(即open、 read、 write 等函數)、另一種是調用glibc的接口(即fopen、 fread、 fwrite 等 函數)間接地調用系統調用層接口。相關筆記推薦:
Linux下應用開發基礎
什么是Linux內核空間與用戶空間?
這里我們使用調用glibc的方式來編寫我們讀取CPU溫度的應用程序,代碼:
左右滑動查看全部代碼>>>
#include???#include?
#include?
int?main(int?arc,?char?*argv[]){
?FILE?*fp?=?NULL;
?unsigned?int?temperature?=?0;
?
?fp?=?fopen?("/sys/devices/virtual/thermal/thermal_zone0/temp",?"r");
?if?(fp?0)
?{
??printf("fopen?error!\n");
??exit(1);
?}
?while(1)
?{
??fscanf(fp,?"%d",?&temperature);
??printf("cpu?temperature:?%d.%d\n",?temperature/1000,?temperature%1000/100);
??sleep(1);
?}
?fclose(fp);
?return?0;
}
交叉編譯、傳到板子里,運行:
以上就是本次關于獲取CPU溫度的分享,如有錯誤,歡迎指出。快去看看你的CPU溫度能不能烤肉吧
??從0學ARM專輯
?1. 0.?到底什么是Cortex、ARMv8、arm架構、ARM指令集、soc?一文幫你梳理基礎概念【科普】?
?2.?1. 從0開始學ARM-安裝Keil MDK uVision集成開發環境
推薦閱讀
【1】Linux面試題100道,看看會多少?【2】Modbus協議概念最詳細介紹必讀【3】I2C基礎知識入門【4】多路復用IO內幕?【5】又一華為程序員進了ICU:壓垮一個家庭,一張結算單就夠了!必讀?點擊“閱讀原文”查看更多分享,歡迎點分享、收藏、點贊、在看。
總結
以上是生活随笔為你收集整理的linux 查看cpu_看看你的嵌入式设备CPU温度是多少,能烤肉吗?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nicetool好工具_N个办公辅助好工
- 下一篇: python wmi_python wm