2021-03-02 Linux C语言读写节点代码-读写背光值brightness为例
Linux C语言读写节点代码-读写背光值brightness为例
一、adb 读写背光节点 /sys/class/backlight/backlight/brightness
二、C语言读写该节点代码。
static int write_int(char const *path, int value)
{int fd;static int already_warned;already_warned = 0;LOGV("write_int: path %s, value %d", path, value);fd = open(path, O_RDWR);if (fd >= 0) {char buffer[20];int bytes = sprintf(buffer, "%d\n", value);int amt = write(fd, buffer, bytes);close(fd);return amt == -1 ? -errno : 0;} else {if (already_warned == 0) {LOGE("write_int failed to open %s\n", path);already_warned = 1;}return -errno;}
}static int sysfs_read(const char *path)
{char buf[80];char freq[50];int len;int fd = open(path, O_RDONLY);ALOGV("%s: [%s:]", __FUNCTION__, path);if (fd < 0) {strerror_r(errno, buf, sizeof(buf));ALOGE("%s: [%s]", __FUNCTION__, path);ALOGE("Error opening %s: %s\n", path, buf);return -1;}len = read(fd, freq, 10);if (len < 0) {strerror_r(errno, buf, sizeof(buf));ALOGE("%s: [%s]", __FUNCTION__, path);ALOGE("Error writing to %s: %s\n", path, buf);}close(fd);return atoi(freq)/1000;
}static void sysfs_write(const char *path,const char *s)
{char buf[80];int len;int fd = open(path, O_WRONLY);ALOGV("%s: [%s: %s]", __FUNCTION__, path, s);if (fd < 0) {strerror_r(errno, buf, sizeof(buf));ALOGE("%s: [%s: %s]", __FUNCTION__, path, s);ALOGE("Error opening %s: %s\n", path, buf);return;}len = write(fd, s, strlen(s));if (len < 0) {strerror_r(errno, buf, sizeof(buf));ALOGE("%s: [%s: %s]", __FUNCTION__, path, s);ALOGE("Error writing to %s: %s\n", path, buf);}close(fd);
}
三、android hal调用该代码调节背光rk3288_nougat_xxxxxx\hardware\rockchip\liblights\lights.cpp。、
四、kernel底层驱动生成brightness节点rk3288_nougat_xxxxx\kernel\drivers\video\backlight\backlight.c。
2021-03-02 Linux C语言读写节点代码-读写背光值brightness为例相关推荐
- 第三阶段:Web前端:02数据库(sql语言、JDBC数据库连接) | 03(1)SpringBoot
二.数据库--> MySQl或MariaDB 0.1.Mysql-安装步骤 进入网址 http://doc.canglaoshi.org/-->常用下载:Windows必备-->Ma ...
- Go、Rust、C++和Zig语言的生产力对比 | Gopher Daily (2021.03.28) ʕ◔ϖ◔ʔ
每日一谚:Goroutines and channels are big ideas. They're tools for program construction. Go技术生态 掉入Go nil坑 ...
- linux C语言 对本地文件进行读写操作
linux C语言 对本地文件进行最简单读写操作 读取json文件 保存json文件 读取json文件 对本地以cjson格式保存的文本进行读取 /* 读取json文件 */ const char* ...
- 02.Linux的基础命令
第二讲 Linux常用命令 课程大纲 课程内容 学习效果 掌握目标 Linux基础 Linux的命令 掌握 常用命令 掌握 五.Linux常用命令 (一)Linux的命令 1.命令的必要性 虽然我们可 ...
- linux下usb设备节点名不固定,解决Linux下USB设备节点ttyUSB名不固定的问题,生成固定USB转串口设备节点...
解决Linux下USB设备节点ttyUSB名不固定的问题,生成固定USB转串口设备节点 2018-09-19 http://blog.sina.com.cn/s/blog_8b58097f0102wx ...
- Linux环境下连连看游戏代码,《连连看》算法C语言演示(自动连连看)
看题目就知道是写给初学者的,没需要的就别看了,自己都觉得怪无聊的. 很多游戏的耐玩性都来自精巧的算法,特别是人工智能的水平.比如前几天看了著名的Alpha GO的算法,用了复杂的人工智能网络.而最简单 ...
- linux的文件系统及节点表
linux的文件系统及节点表 一 linux的文件系统 1 我们都知道当我们安装linux时会首先给系统分区,然后我们会把分区格式化成EXT3格式的文件系统.那么在linux系统中还有没有其他的文件 ...
- js_DOM读写节点
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- mycat定时向mysql存储数据_【实战演练】Linux操作系统20-MyCat实现Mysql数据库读写分离与自动切换...
#本文欢迎转载,转载请注明出处和作者. 理论部分,详见:繁星亮与鲍包包:[理论研究]业务系统高可用及负载均衡zhuanlan.zhihu.com 本篇主要实现"8.Mysql读写分离&qu ...
最新文章
- Linux基础(二)--基础的命令ls和date的详细用法
- 再见SpringMVC!linuxkafka安装单机集群
- php新增数组函数,php操作数组函数
- mongodb之 复制集维护小结
- java类型比较_Java数据类型的比较
- kali Linux 源更新
- 2. Mysql数据库的入门知识
- bat 连续读取两行_Redis底层数据结构解析(BAT大厂必问)
- c# datetime._C#| 带示例的DateTime.DayOfWeek属性
- 计算机与pmac2型卡串口怎么通信,简述PMAC2型运动控制卡
- java国际化程序创建属性文件_Java国际化(i18n)ResourceBundle类
- 编程规范基础学习笔记
- Android 仿今日头条频道管理(GridView之间Item的移动和拖拽)
- sql优化的N种方法_持续更新
- Photoshop基础照片美化
- TensorFlow Serving Architecture
- python re span_python—模块-re正则表达式
- sudo vim找不到
- 【4月比赛合集】19场可报名的「创新应用」和「程序设计」大奖赛,任君挑选!
- ajax资料收集-Ajax文章(教程和实例)---Ajax资源下载(源码和教程)---Ajax规范标准
热门文章
- YUV 后面数字的含义_金属材料分类及牌号含义
- php的ci框架前后台分离,基于CodeIgniter框架的前后端完全分离开发
- 巨无霸企业怎么管?BPM开辟新路径
- windows7 打不开农行客户端登陆
- 解决windows7与农行网银兼容性问题
- 如何在Windows 10 1709版本中保存锁屏壁纸
- os.path.dirname与__file__的搭配运用
- 小学数学测试软件报告,小学数学测试系统C课程设计报告及源程序代码论文
- win10系统下任务管理器无法启动解决方案
- 电脑的快捷键突然失效,比如Win+r,Win+e,Win+x......等等常见快速打开需要使用的快捷命令失效