最近做PWM,查了下资料TCMPB0:
TCMPB0 Bit Description Initial State
Timer 0 compare buffer register [15:0] Set compare buffer value for Timer 0 0x00000000
但在友善之臂给的程序里:
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%
填充的是频率。
我不解的是TCMPB里到底是填频率还是计数值。