linux蜂鸣器驱动 蜂鸣器--LINUX
导读:就爱阅读网友为您分享以下“蜂鸣器--LINUX”的资讯,希望对您有所帮助,感谢您对92的支持!
//mux = 1/16
tcfg1 &= ~S3C2410_TCFG1_MUX0_MASK; /*S3C2410_TCFG1_MUX0_MASK定
时器0分割值的掩*/
/*
码:TCFG1[0~3]*/
tcfg1 |= S3C2410_TCFG1_MUX0_DIV16; /*定时器0进行16分割*/
__raw_writel(tcfg1, S3C2410_TCFG1); /*把tcfg1的值写到分割寄存器
S3C2410_TCFG1中*/
__raw_writel(tcfg0, S3C2410_TCFG0); /*把tcfg0的值写到预分频寄存器
S3C2410_TCFG0中*/
clk_p = clk_get(NULL, "pclk"); /*得到pclk*/
pclk = clk_get_rate(clk_p);
tcnt = (pclk/50/16)/freq; /*得到定时器的输入时钟,进而设置PWM的调制频率
*/
__raw_writel(tcnt, S3C2410_TCNTB(0)); /*PWM脉宽调制的频率等于定时器的
输入时钟 */
__raw_writel(tcnt/2, S3C2410_TCMPB(0)); /*占空比是50%*/
tcon &= ~0x1f;
tcon |= 0xb; /*disable deadzone, auto-reload, inv-off, update TCNTB0&TCMPB0, start