嵌入式linux系统RGB调色灯三路PWM驱动
1 硬件基础
在我们的开发板上集成了一颗RGB灯组,引脚连接着主控的三路PWM输出,因此我们可以通过三路PWM输出进行调色的功能,硬件原理图如下:
2 内核设备树
我们把设备树补丁文件放在目录:~/share/patchs/pwm-dts
板载的RGB灯珠连接的是主控的三路PWM(PWM1,PWM2,PWM3);这三路PWM的设备树节点在rk3308.dtsi中;默认情况下是disabled的状态,我们只需要将disabled改成okay即可,补丁文件其实就是做了这个事情,可以通过patchloader.sh进行补丁。
打补丁后再编译内核即可,要求rk3308.dtsi是原生未改动的,因为补丁也会调用之前有对rk3308.dtsi修改的补丁。
3 应用
烧录内核后,我们可以在板子上看到PWM的设备节点:
说明一下:pwmchip0实际上是原厂评估板的LCD背光灯驱动,我们可以在设备树中将其关调,这里忽略pwmchip0;其他的对应我们的三路PWM,
导出三路PWM: echo 0 > pwmchipx/export
设置周期(单位是ns):echo ns > pwmchipx/pwm0/period
1s = 1000ms = 1000000us = 1000000000ns
设置占空比:echo ns > pwmchipx/pwm0/duty_cycle
周期1秒,占空比0.5秒,也就是50%
使能PWM:echo 1 > pwmchipx/pwm0/enable
使能PWM的时候,可以看到RGB灯珠的被正常驱动的过程:
效果是RGB灯闪烁,大家可以尝试修改占空比看效果。
===================================================================================================================================================================
如果觉得对您有帮助并想进一步深入学习交流可以扫描以下微信二维码或加入QQ群:928840648
欢迎共同学习成长,有一群爱学习的小伙伴一起勉励!!一起加油!!也可点击
笔者基于嵌入式系统框架内容如下整理编辑:
嵌入式linux系统RGB调色灯三路PWM驱动相关推荐
- pwm一个时间单位_RK3308——RGB调色灯三路PWM驱动
10.1 硬件基础 在我们的开发板上集成了一颗RGB灯组,引脚连接着主控的三路PWM输出,因此我们可以通过三路PWM输出进行调色的功能,硬件原理图如下: 10.2 内核设备树 我们把设备树补丁文件放在 ...
- 构建一个适合stm32mp157系列开发板的嵌入式Linux系统
在线课堂:https://www.100ask.net/index(课程观看) 论 坛:http://bbs.100ask.net/(学术答疑) 开 发 板:https://100ask.taoba ...
- LabVIEW控制Arduino实现RGB调色灯(基础篇—6)
目录 1.实验目的 2.实验环境 3.程序设计 4.实验演示 1.实验目的 利用LIAT中的RGB函数库,通过LabVIEW控制Arduino Uno控制板实现RGB调色. 2.实验环境 将共阳RGB ...
- 嵌入式Linux系统开发入门宝典(第2版)
距离<嵌入式Linux系统开发入门宝典>第1版已经有6年了,由于是第一次写作,对章节的划分,语言的组织,知识点的推敲,以及本人习惯用五笔输入法打字,有很多地方出现一些诡异的文字.另外,既然 ...
- 外网访问arm嵌入式linux_嵌入式Linux系统编程——文件读写访问、属性、描述符、API
Linux 的文件模型是从 Unix 的继承而来,所以 Linux 继承了 UNIX 本身的大部分特性,然后加以扩展,本章从 UNIX 系统接口来描述 Linux 系统结构的特性. 操作系统是通过一系 ...
- 嵌入式linux结构框图,嵌入式linux系统的结构
原标题:嵌入式linux系统的结构 1.嵌入式系统的硬件架构 嵌入式系统硬件模型结构,此系统主要由微处理器MPU.外围电路,以及外设组成,微处理器为ARM嵌入式处理芯片,如ARM7TMDI系列及ARM ...
- 详解基于busybox、dropbear、ngnix制作完整的嵌入式Linux系统
说明: <一>:查看此博文,建议查看笔者上一篇博文(Linux启动过程),因为只有在完全了解Linux系统启动流程及一些配置文件的相关性,在阅读此博文才能有思路,理解起来更 ...
- 嵌入式系统实验 构建嵌入式Linux系统,《嵌入式系统与开发》构建嵌入式Linux系统-实验报告.doc...
<嵌入式系统与开发>构建嵌入式Linux系统-实验报告 <嵌入式数据库sqlite移植及使用> 实验报告 学生姓名: 陈 彤 学 号: 1座机电话号码 专业班级: 130044 ...
- 嵌入式Linux文件提取,嵌入式 Linux系统编程(四)——文件属性
嵌入式 Linux系统编程(四)--文件属性 一.文件属性概述 Linux 文件的属性主要包括:文件的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.文件属性示例如下 ...
最新文章
- Wireshark EndPoints窗口
- 计算机英语句子缩略,根据汉语意思完成英语句子,每空一词(含缩略形式)。 【1】-咋考网...
- java静态代码块的作用域_java基础之面向对象
- android 生成 资源文件,SVG-Android开源库——SVG生成Vector资源文件的编辑预览工具...
- 有人说智能制造装备前景大好,那么智能制造装备产业园的潜力如何?
- Solidity常见问题
- 凸优化第三章凸函数 3.6关于广义不等式的凸性
- 13家公司半年报业绩预喜 分布式将成光伏产业发展方向
- 韩顺平 jdbc 之 mysql,(韩顺平讲解)jdbc学习(四)---java连接mysql
- pr导出视频的每一帧
- 程序员那些必须熬过去的坎!!
- 零代码的科普算法书《未来算法》读后
- 【组队学习】【38期】组队学习内容详情!
- Android搭建无线调试环境
- 微信红包“昙花一现”?看传统企业中兴如何玩转“微信红包”
- 5G NR OFDM链路层仿真及Matlab代码实现(1):LDPC信道编译码之5G Tollbox中相关函数使用介绍
- Tcl/Tk入门(上)
- 二三类户开户风险和交易风险再讲
- 无法解析 maven包的问题
- React中createRef()和useRef()的使用方法
热门文章
- php7030是什么意思,入手评测3M3M7030好用吗?怎么样呢?最新质量反馈揭秘
- python中print end的用法_python中print用法
- docker部署wizard
- c语言atan的作用,C语言中的atan和atan2
- 【inpho精品教程】03 LensDistortion影像去畸变
- Python时间戳和日期格式之间的相互转化
- 随机算法:蒙特卡罗算法和拉斯维加斯算法
- CASS10.1.6+CAD2016
- 数据库SQL语句 创建一个数据库,创建表,并添加约束
- Maven环境变量的配置(详细教程)