#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/poll.h>
#include <asm/irq.h>
#include <asm/io.h>
#include <linux/interrupt.h>
#include <asm/uaccess.h>
#include <mach/hardware.h>
#include <plat/regs-timer.h>
#include <mach/regs-irq.h>
#include <asm/mach/time.h>
#include <linux/clk.h>
#include <linux/cdev.h>
#include <linux/device.h>
#include <linux/miscdevice.h>
#include <mach/map.h>
#include <mach/regs-clock.h>
#include <mach/regs-gpio.h>
#include <plat/gpio-cfg.h>
#include <mach/gpio-bank-e.h>
#include <mach/gpio-bank-f.h>
#include <mach/gpio-bank-k.h>
#define DEVICE_NAME "pwm"
#define PWM_IOCTL_SET_FREQ 1
#define PWM_IOCTL_STOP 0
static struct semaphore lock; //信
OK6410之蜂鸣器驱动软件分析---PWM定时器
最新推荐文章于 2020-03-31 17:37:57 发布
这篇博客详细分析了如何在OK6410平台上通过PWM定时器来驱动蜂鸣器,实现了频率的设置和停止功能。通过设置定时器的预分频器、分频器以及控制寄存器,实现了1Hz到62500Hz的频率范围。同时,使用信号量管理设备的打开和关闭,并提供了相应的ioctl接口供用户设置频率和停止PWM输出。
摘要由CSDN通过智能技术生成