HC32L110定时器及PWM计算方式
请问一下,HC32L110高级定时器,定时的时间该怎么计算,我现在设置24MHz RCH,stcAdtBaseCntCfg.enCntClkDiv = AdtClkPClk0Div256;
u16TimePeriod = 0x5FFF;
u16TimeCompareA = 0;这样定时差不多是500ms。
用另外一个定时器输出PWM 设置的参数是
stcAdtBaseCntCfg.enCntMode = AdtSawtoothMode;
stcAdtBaseCntCfg.enCntDir = AdtCntUp;
stcAdtBaseCntCfg.enCntClkDiv = AdtClkPClk0Div2;
u16PwmPeriod = 0x6000;
u16PwmCompare = 0x2000;
输出的是1KHz的PWM
这个时间跟频率具体是怎么计算,有像STM32那样的计算公式吗,我对照了一下 没太弄懂,有没有懂的人帮忙解答一下,谢谢! 没人知道吗。。 时间和频率是反比的。 这个看手册了。 是pwm模块还是定时器实现的? aspoke 发表于 2022-7-9 12:17
是pwm模块还是定时器实现的?
高级定时器实现的,没有用PCA,不知道这个计数对应的计算方法,手册也没看到有写 pklong 发表于 2022-7-8 16:36
这个看手册了。
手册好像并没看到计算公式 51xlf 发表于 2022-7-8 09:49
时间和频率是反比的。
嗯..这个我知道 那时间怎么算的呢 如果不分频,那么ADT的clk就是PCLK,比如默认HCLK和PCLK都是4M,要是ADT没有设置分频,那么ADT就是4M。
ADT的计数CNT是从0计数到周期寄存器值PERAR,再从0开始计数,所以PERAR的值就是周期(如果是锯齿波模式),
比如PERAR的值是4000,时钟clk是4M,那么周期就是1ms,频率1K,
如果是三角波模式,上述PERAR4000,周期就是2ms,频率500Hz
PERAR可以设置缓存传送,这个可以看看手册的描述 martinhu 发表于 2022-7-11 09:00
如果不分频,那么ADT的clk就是PCLK,比如默认HCLK和PCLK都是4M,要是ADT没有设置分频,那么ADT就是4M。
ADT ...
明白了 谢谢! 建议你看看手册说明吧 手册上有说明把,有空可以好好看看 还有分频倍频的设置呢 那得看时钟如何配置
两个定时器的时钟源是一样的吗
时钟源是多大的呢
虽然公式好算 但是对寄存器也得非常了解才行啊
多更改一下参数对比计算看看
页:
[1]