AM335x LED灯驱动 - AM335x - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4271|回复: 2

[已解决] AM335x LED灯驱动

[复制链接]

36

主题

526

帖子

7568

积分

创龙

Rank: 8Rank: 8

积分
7568
发表于 2019-11-26 09:47:21 | 显示全部楼层 |阅读模式
问:
1.请问这个LED灯亮灭是通过哪些函数传输高低电平信号的?点亮和熄灭led灯除了实例流水灯程序里面的用echo指令以外,可以用调用具体的函数的方法来控制灯亮灭吗?麻烦您帮忙解释一下led测试部分的那一句指令是怎么传输的数据?


回答:
1.设备树文件已配置好这个IO,可以通过echo指令写入一定值到 brightness去控制LED的高低电平。  brightness也是一个驱动节点,驱动会检测这个节点的内容作出不同的处理。
问:

2.控制灯亮灭下面这个gpio_led_set函数吗?这个是我在驱动程序里一个叫leds_gpio.c的文件里找到的一段程序。就是下面这个指令,我理解的他的意思是把0写给这个函数里面的value这个枚举类型的变量。如果value==LED_OFF,这个值,就输出level=0,然后灯就灭了。

答:
2.
对于gpio_led_set函数的理解方向无误,大致就是那样使用。


echo指令参考学习链接:https://blog.csdn.net/qq_41657915/article/details/86315309
LED驱动说明:内核源码路径下Documentation下的.txt文档。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

36

主题

526

帖子

7568

积分

创龙

Rank: 8Rank: 8

积分
7568
 楼主| 发表于 2019-11-26 09:55:38 | 显示全部楼层
问:
我的思路:修改开发板上控制左下角LED灯中的最左边一个灯LED1(用户手册里该灯是用GPIO2[24]控制的),因此我思考把开发板50针中的其中一个口配置成GPIO的输出口用来控制这个LED1,通过指令给这个口输出1或者0,观察LED1的亮灭来看是否设置成功了。

遇到的问题:我按照视频的操作修改了设备树里面对应部分的文件(我认为应该修改的地方,可能是我修改的不对具体操作如下所描述),将修改以后的dts文件重新编译为dtb,然后覆盖之前开发板里rootsf/boot分区的dtb文件。上电测试,发现无论我给0还是给1灯都是亮的,而且用电压表测量所设置的引脚电平没有变化。

我的具体操作:1.我通过看您提供的用户手册所描述的内容,我认为在该路径下的多个dts文件里,名为
am335x-icev2.dts的文件为该开发版的设备树源码(文件见附录,我也不确定开发板原来的设备树是不是这个文件,麻烦您确认一下)。

这是该dts文件里的部分和该引脚有关的代码。首先我查询了数据手册,控制gpio2【24】的寄存器的偏移地址为0x8e8h
。不知道程序这里为什么直接写的就是查表查到的偏移地址,没有和您给你中断实例描述的减去800h。

2.按照同样的思路,我查询了50针里面的第14针。数据手册中,该管脚名称为GPMC_AD15.然后查询其偏移地址为83ch。我没有减去800h直接把偏移地址改成了83ch。修改的部分程序如下图




5.开发板上电测试。分别执行下图所示的两条指令。用电压表分别检测50针处的第14针和第8针(地)的电平。此时开发板上的LED1灯写1则亮,写0则灭。但是引脚处的电平一直没有变化。


回答:





2.AM335x平台配置设备树文件不需要减去800H,AM437x平台配置设备树文件需要减去800H。
3. 具体的LED控制引脚是固定的,可以找到我司开发的对应设备树文件查看我司的配置方法,结合《快速体验》文档,先了解再控制LED。






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

44

主题

368

帖子

2894

积分

创龙

Rank: 8Rank: 8

积分
2894
发表于 2019-11-26 22:18:59 | 显示全部楼层
感谢分享,赞~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-3-28 18:55 , Processed in 0.038835 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表