⑦tiny4412 Linux驱动开发之PWM驱动程序

本文介绍了在Linux系统下如何进行PWM驱动的开发,以蜂鸣器为例进行测试。由于电路限制,原计划的LCD背光调整未实现,转而使用蜂鸣器。内容涉及PWM驱动的基础概念,如占空比,并展示了如何利用已有的三星驱动框架,通过`pwm_request()`函数简化驱动编写。此外,还提供了驱动测试代码和Makefile配置,以及移除友善之臂PWM驱动的步骤,最终成功验证并实现了不同频率蜂鸣器响声的输出。
摘要由CSDN通过智能技术生成

这次主要是说一下PWM驱动,本来这一次想做一下LCD背光的,我看网上都是通过PWM1的方式调节LCD背光的,然后看了一下电路图,我这个LCD没有接那个接口,就接了一个w1总线的接口,通过网上查询,我这一款好像是通过1-wire总线的方式进行调节的,所以这次准备的PWM就没有写成LCD背光,只是单纯地通过蜂鸣器测试一下PWM,电路图如下:


所以这里测试蜂鸣器,相关电路图如下:


因为三星已经把相应的驱动写好了,我们只需要写少量代码即可实现PWM驱动.

因为现在一些特殊的情况,没有时间细细研究目前所写的驱动程序,关于PWM的基础知识,请自行百度,主要是SOC集成的定时器来做的,然后高低电平会根据用户不同的配置,进行不同比例的高低电平时间,称之为占空比,这里就废话不多说,直接上PWM驱动蜂鸣器的的代码,因为,三星已经帮我们把PWM驱动的框架都写好了,所以,我们不需要自己去操作寄存器来配置PWM的一些参数,我们直接一个pwm_request()就搞定了.下面是驱动代码:

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/fb.h>
#include <linux/backlight.h>
#include <linux/err.h>
#include <linux/pwm.h>
#include <linux/sl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值