我在看mini2440 linux移植开发指南中的PWM驱动和测试程序。
其中在PWM驱动程序中有以下内容:
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%
而在测试程序中的freq预设为1000.
那PWM的调制频率应该是50Mhz/50/16/1000=62.5HZ,那为什么说是1000HZ呢?我用示波器看也是1000HZ,求指教!