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为例相关推荐

  1. 第三阶段:Web前端:02数据库(sql语言、JDBC数据库连接) | 03(1)SpringBoot

    二.数据库--> MySQl或MariaDB 0.1.Mysql-安装步骤 进入网址 http://doc.canglaoshi.org/-->常用下载:Windows必备-->Ma ...

  2. Go、Rust、C++和Zig语言的生产力对比 | Gopher Daily (2021.03.28) ʕ◔ϖ◔ʔ

    每日一谚:Goroutines and channels are big ideas. They're tools for program construction. Go技术生态 掉入Go nil坑 ...

  3. linux C语言 对本地文件进行读写操作

    linux C语言 对本地文件进行最简单读写操作 读取json文件 保存json文件 读取json文件 对本地以cjson格式保存的文本进行读取 /* 读取json文件 */ const char* ...

  4. 02.Linux的基础命令

    第二讲 Linux常用命令 课程大纲 课程内容 学习效果 掌握目标 Linux基础 Linux的命令 掌握 常用命令 掌握 五.Linux常用命令 (一)Linux的命令 1.命令的必要性 虽然我们可 ...

  5. linux下usb设备节点名不固定,解决Linux下USB设备节点ttyUSB名不固定的问题,生成固定USB转串口设备节点...

    解决Linux下USB设备节点ttyUSB名不固定的问题,生成固定USB转串口设备节点 2018-09-19 http://blog.sina.com.cn/s/blog_8b58097f0102wx ...

  6. Linux环境下连连看游戏代码,《连连看》算法C语言演示(自动连连看)

    看题目就知道是写给初学者的,没需要的就别看了,自己都觉得怪无聊的. 很多游戏的耐玩性都来自精巧的算法,特别是人工智能的水平.比如前几天看了著名的Alpha GO的算法,用了复杂的人工智能网络.而最简单 ...

  7. linux的文件系统及节点表

    linux的文件系统及节点表 一  linux的文件系统 1 我们都知道当我们安装linux时会首先给系统分区,然后我们会把分区格式化成EXT3格式的文件系统.那么在linux系统中还有没有其他的文件 ...

  8. js_DOM读写节点

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. mycat定时向mysql存储数据_【实战演练】Linux操作系统20-MyCat实现Mysql数据库读写分离与自动切换...

    #本文欢迎转载,转载请注明出处和作者. 理论部分,详见:繁星亮与鲍包包:[理论研究]业务系统高可用及负载均衡​zhuanlan.zhihu.com 本篇主要实现"8.Mysql读写分离&qu ...

最新文章

  1. Linux基础(二)--基础的命令ls和date的详细用法
  2. 再见SpringMVC!linuxkafka安装单机集群
  3. php新增数组函数,php操作数组函数
  4. mongodb之 复制集维护小结
  5. java类型比较_Java数据类型的比较
  6. kali Linux 源更新
  7. 2. Mysql数据库的入门知识
  8. bat 连续读取两行_Redis底层数据结构解析(BAT大厂必问)
  9. c# datetime._C#| 带示例的DateTime.DayOfWeek属性
  10. 计算机与pmac2型卡串口怎么通信,简述PMAC2型运动控制卡
  11. java国际化程序创建属性文件_Java国际化(i18n)ResourceBundle类
  12. 编程规范基础学习笔记
  13. Android 仿今日头条频道管理(GridView之间Item的移动和拖拽)
  14. sql优化的N种方法_持续更新
  15. Photoshop基础照片美化
  16. TensorFlow Serving Architecture
  17. python re span_python—模块-re正则表达式
  18. sudo vim找不到
  19. 【4月比赛合集】19场可报名的「创新应用」和「程序设计」大奖赛,任君挑选!
  20. ajax资料收集-Ajax文章(教程和实例)---Ajax资源下载(源码和教程)---Ajax规范标准

热门文章

  1. YUV 后面数字的含义_金属材料分类及牌号含义
  2. php的ci框架前后台分离,基于CodeIgniter框架的前后端完全分离开发
  3. 巨无霸企业怎么管?BPM开辟新路径
  4. windows7 打不开农行客户端登陆
  5. 解决windows7与农行网银兼容性问题
  6. 如何在Windows 10 1709版本中保存锁屏壁纸
  7. os.path.dirname与__file__的搭配运用
  8. 小学数学测试软件报告,小学数学测试系统C课程设计报告及源程序代码论文
  9. win10系统下任务管理器无法启动解决方案
  10. 电脑的快捷键突然失效,比如Win+r,Win+e,Win+x......等等常见快速打开需要使用的快捷命令失效