点击上方「嵌入式大杂烩」,「星标公众号」第一时间查看嵌入式笔记!

大家应该都看过一些大佬发的电脑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温度是多少,能烤肉吗?相关推荐

  1. 嵌入式Linux跑分软件,看看你的嵌入式设备CPU温度是多少,能烤肉吗?

    点击上方「嵌入式大杂烩」,「星标公众号」第一时间查看嵌入式笔记! 大家应该都看过一些大佬发的电脑CPU烤肉的视频,电脑CPU的温度真的有那么高吗?我们一起来看一下咱们电脑CPU的温度是多少? PC端C ...

  2. linux c c 常用的日志库,mslog: 一款超轻量级的C日志库,无需依赖额外的库,测试或移植过的系统有Linux(ubuntu,centos),Windows以及部分嵌入式设备;...

    mslog 1.综述 ​ 一款超轻量级的C日志库,无需依赖额外的库,库的设计目标为"简洁,可移植性强".测试或移植过的系统有Linux(ubuntu,centos),Windows ...

  3. 嵌入式linux支持python,【python】嵌入式设备上python的使用

    在嵌入式设备上已经安装了SDK等一些相关环境 使用登陆后台的账号登陆后台 BusyBox v1.25.1 (2020-02-17 18:53:37 CST) built-in shell (ash) ...

  4. Linux下轻量级数据库-SQLite3(嵌入式设备)

    一.概念 数据库是用来存储和管理数据的专用软件,使得管理数据更加安全,方便和高效.数据库对数据的管理的基本单位是表(table). 二.常见的数据库 大型数据库(大型机) ------ Oracle( ...

  5. Linux查看哪些进程占用较多的cpu、内存和磁盘IO的方法

    linux 查看哪个进程占用CPU和内存 1.ps aux | grep mysql 用这个方法找到进程号 如下:找到mysql的进程号是1651 [root@vm254 ~]# ps aux |gr ...

  6. linux 查看cpu_作为高级Java,你应该了解的Linux知识

    作为一个javaer,我以前写过很多关于Linux的文章.但经过多年的观察,发现其实对于大部分人,有些东西压根就用不着.用的最多的,就是到线上排查个问题而已,这让人很是苦恼.那么,我们就将范围再缩小一 ...

  7. Linux 查看应用程序进程/端口号/内存/CPU使用情况

    1.查看运行的程序的pid(线程号) {appName}:应用程序名称 ps aux | grep {appName} 2.根据线程号查询正在运行的程序的port(端口号) {pid}:程序的线程号 ...

  8. 嵌入式设备的网络性能该如何分析

    最近对公司的嵌入式设备做了一个网络性能测试,如何确定网络性能的瓶颈在哪里,以及网络性能影响因素有哪些,有些心得记录在此. 一般评判网络性能都是看数据下载上传的速度.现在主流的带宽有2种,100Mbps ...

  9. 嵌入式linux查看usb设备驱动程序,嵌入式Linux下USB驱动程序的设计

    嵌入式Linux下USB驱动程序的设计 usb概念:  USB(Universal Serial Bus)即通用串行总线,是一种全新的双向同步传输的支持热插拔的数据传输总线,其目的是为了提供一种兼容不 ...

最新文章

  1. POI导入大excel文件
  2. 二本毕业生逆袭成大厂架构师的成长心得
  3. Ansible(四)ansible roles实现(apache+haproxy+keepalived)负载均衡+高可用
  4. 纹理特征描述之自相关函数法 纹理粗糙性与自相关函数的扩展成正比 matlab代码实现
  5. python爬取方式_Python3 实现爬取网站下所有URL方式
  6. mina mysql_Mina源码阅读笔记(四)—Mina的连接IoConnector2
  7. 基于K均值聚类算法的图像分割(Matlab)
  8. 给html标签加上鼠标划过小手样式
  9. 复旦大学首届达观数据奖学金颁奖仪式圆满落幕,达观CEO陈运文博士与学院党委书记王新为获奖同学颁奖
  10. BIOS设置中功能的翻译及介绍
  11. Au入门系列之六:多轨剪辑编辑
  12. 最热电气专业论文选题
  13. Oracle 11g安装报错
  14. Logistic Regression推导
  15. 走向架构师必备的技能,你都会了吗?
  16. 批处理获取整台计算机的盘符,可以用批处理的方法更改盘符吗?
  17. 增广拉格朗日乘子法(Augmented Lagrange Method)
  18. 九度OJ 1470 调整方阵
  19. 天空好像下午用计算机,计算机一级上机考试模拟题
  20. 数学建模第二天:数学建模工具课之MATLAB绘图操作

热门文章

  1. android 代码浏览,Webview实现android简单的浏览器实例代码
  2. (25)2-9-9-12分页(下)
  3. 【网络安全】SQL注入bypass最新版安全狗
  4. 010 Android之逆向入门
  5. Adobe Reader栈溢出漏洞(CVE-2010-2883)分析
  6. 1.17 选择排序法
  7. 计算机组成名词解释移码,自考“计算机组成原理”串讲资料
  8. 终端服务器有多种运行模式,云终端的三种工作模式你都知道的吗
  9. 天然气表怎么看多少方_宝宝奶粉的的营养成分表,到底怎么看?
  10. Hibernate中的核心接口query接口用法