打印
[i.MX]

imx6 gpio触发pwm背光程序

[复制链接]
3586|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Saintxpaul|  楼主 | 2016-1-20 10:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在imx6里默认的pwm背光程序读写参数是通过sys/目录下用echo、cat修改brightness等参数来实现的。这时候会触发pwm-bl.c里的pwm_backlight_update_status函数使参数可以被修改并使能pwm接口。但这种情况必须从外部先改变brightness才可以触发pwm_backlight_update_status函数。如果我想通过GPIO来修改背光的亮度,比如从外部给某个GPIO引脚导通后,给brightness赋值100,可以实现吗?用什么方式比较好呢?在内核里做还是在用户程序做呢?

相关帖子

沙发
kris_fei| | 2016-1-20 15:16 | 只看该作者
gpio只能控制开关,不能控制亮度。

使用特权

评论回复
板凳
Saintxpaul|  楼主 | 2016-1-20 15:28 | 只看该作者
kris_fei 发表于 2016-1-20 15:16
gpio只能控制开关,不能控制亮度。

是的 我是想通过采集GPIO的信号作为条件 然后自己来给brightness赋值的

使用特权

评论回复
地板
kris_fei| | 2016-1-20 15:32 | 只看该作者
为何要这么做呢,直接控制pwm就可以了

使用特权

评论回复
5
Saintxpaul|  楼主 | 2016-1-20 15:33 | 只看该作者
kris_fei 发表于 2016-1-20 15:32
为何要这么做呢,直接控制pwm就可以了

给您留言了 方便的话在消息里说一下?

使用特权

评论回复
6
Saintxpaul|  楼主 | 2016-1-20 15:47 | 只看该作者
kris_fei 发表于 2016-1-20 15:32
为何要这么做呢,直接控制pwm就可以了

我在外部接了一个按钮来触发一个GPIO引脚 在程序里可以用get函数读取到io的状态 因为假如在没有电脑无法终端操作的时候就不能用echo指令来给brightness赋值 所以我想通过根据GPIO的状态 来自己给brightness赋值

使用特权

评论回复
7
kris_fei| | 2016-1-20 16:42 | 只看该作者
Saintxpaul 发表于 2016-1-20 15:47
我在外部接了一个按钮来触发一个GPIO引脚 在程序里可以用get函数读取到io的状态 因为假如在没有电脑无法 ...

你的意思是根据gpio状态从而通过pwm改变背光对吧?
这样肯定可以的。
不过你这样做的意义在哪呢?

使用特权

评论回复
8
wangjiahao88| | 2016-1-20 16:59 | 只看该作者
gpio只能控制开关

不过用PWM的占空比可以控制亮度的。

使用特权

评论回复
9
jianjun21st| | 2016-1-20 22:18 | 只看该作者
不知道这个方法可行不:写个简单的字符设备驱动,在驱动里将gpio口设置为外部中断,同时注册该外部中断的处理函数,在处理函数里调制pwm的占空比。这样,不需要外部应用程序的支持。i

使用特权

评论回复
10
Tennasi| | 2016-1-21 08:25 | 只看该作者
你是不是想根据GPIO端口的状态改变PWM啊?

使用特权

评论回复
11
mini1986| | 2016-1-21 08:54 | 只看该作者
可以通过检测gpio被按下的时间长短来控制pwm......

使用特权

评论回复
12
zhy808zhy| | 2016-1-21 10:19 | 只看该作者
好东西,值得学习

使用特权

评论回复
13
E-Kaia| | 2016-1-21 20:33 | 只看该作者
GPIO都能实现不同的内容,按下,抬起,按下长短,根据这个分别设置PWM的占空比频率等

使用特权

评论回复
14
justinlin2015| | 2016-1-26 15:49 | 只看该作者

长见识了

使用特权

评论回复
15
Saintxpaul|  楼主 | 2016-2-18 19:12 | 只看该作者
最后通过输入子系统的方式,通过读取dev下的event0,可以采集到当前按钮的状态,事件号,也就是code,type,value这几个参数。通过open,read读取event0,然后根据所需要的事件号和状态,再去把想要写的值写入brightness。类似地也是使用open,write等指令。

使用特权

评论回复
16
free_tend| | 2016-2-19 17:20 | 只看该作者
不需要这么麻烦啊, 直接用脚本 检测gpio的状态, 到了某个状态直接echo 就行.
当然你的脚本循环里面注意使用延时, 不然cpu占用率有点高

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

27

帖子

1

粉丝