天天看点

pwm子系统

子系统分析 

​其他网址​

​​从零开始之驱动发开、linux驱动(三十三、PWM子系统)​​

​​Linux系统PWM驱动​​

测试驱动

参考网址:​​Linux - PWM的驱动编写【转】​​

pwm_config函数有三个参数,第一个是当前设置的pwm设备,第二个和第三个分别是占空比与周期。 

占空比与周期的单位均是ns, 

其中5000000ns即表示5ms,说明一个波形的周期是5ms 

#include <linux/module.h>
#include <linux/miscdevice.h>
#include <linux/fs.h>
#include <linux/mutex.h>
#include <linux/pwm.h>

#include <linux/delay.h>  /* for mdelay() */
#include <linux/proc_fs.h>
#include <asm/uaccess.h>
#include <asm/io.h>

static int __init pwm_init(void)
{
  struct pwm_device * pwm7 = NULL;

  //申请pwm设备函数,前面是pwm几,后面是给他的简称
  pwm7 = pwm_request(7, "pwm7");
  if(IS_ERR(pwm7))
    printk("request pwm7 err %ld\n", PTR_ERR(pwm7));
  else
    printk("request pwm7 success\n");
  
  pwm_config(pwm7, 100, 500);
  pwm_enable(pwm7);

  return 0;
}

static void __exit pwm_exit(void)
{
  printk("%s\n", __func__);
}

module_init(pwm_init);
module_exit(pwm_exit);

MODULE_DESCRIPTION("PWM Driver");
MODULE_LICENSE("GPL v2");      
上一篇: HDFS详解②

继续阅读