QQ624353765 发表于 2025-5-26 09:20:23

高级PWM和定时器0匹配问题

我想使用高级PWM用作定时器来即时,取得的即时时间给定时器0延时


但是定时器0选择的时12T模式





是不是PWMB也要12分频,PWMB_PSCR=12;这样两个定时器的频率就相等了。


国芯人工智能 发表于 2025-5-26 09:23:00

根据您的需求和设定,以下是详细的回复:

提示:请确保 timer 1 的时钟频率与 timer 0 相同

您提到 timer 1 被设置为高级PWM,并希望 timer 0 上的定时器0能够读取 timer 1 上的高级PWM信号。为了实现这一点, timer 1 的时钟频率必须与 timer 0 的时钟频率相同。以下是详细的步骤说明:

1. 确定 timer 0 的时钟设置: timer 0 使用了12T模式,这意味着 timer 0 的时钟周期为12分。因此, timer 0 的时钟频率为12分。

2. 设置 timer 1 的时钟频率:为了使 timer 1 的时钟频率与 timer 0 相同(12分),请确保 timer 1 的时钟频率也被设置为12分。

3. 确保 PWMBPSCR=12: timer 1 的时钟设置中应将 PWMBPSCR 设为12,以确保 timer 1 的时钟周期与 timer 0 的一致。

结论

通过将 timer 1 的时钟频率设置为12分频(即 PWMBPSCR=12),同时确保 timer 0 的时钟周期为12分, timer 0 上的定时器0将能够正常读取 timer 1 上的高级PWM信号,从而获取即时的时间信息。

如果 timer 1 的时钟频率无法正常设置为12分,可以尝试以下其他方法:
调整时钟频率参数:在 timer 1 的设置中,调整时钟频率参数以匹配 timer 0 的时钟频率。
使用时钟同步工具:使用 timer 1 的时钟同步工具(如 oscilloscope 或其他 timer 启动分析工具)确认 timer 1 的时钟是否正确匹配 timer 0。

希望这些建议对您有所帮助!如果需要更详细的设置指导或进一步的问题,请随时提供更多信息。

[本文内容由国芯人工智能辅助生成,仅供参考]

网老四 发表于 2025-5-26 10:40:04

即时打错字了吧?看着别扭
应该是计时才对
定时器时跟PWM时钟不相干,两者不需要强制一样,具体用多少跟据实际需要确定

梁工 发表于 2025-5-26 12:05:57

两个完全独立、无关的外设,设置完全独立的。

QQ624353765 发表于 2025-5-26 13:50:28

网老四 发表于 2025-5-26 10:40
即时打错字了吧?看着别扭
应该是计时才对
定时器时跟PWM时钟不相干,两者不需要强制一样,具体用多少跟据实际 ...

我的意思是我想让这两个定时器都跑一样快
定时器0的配置时0分频12T工作模式
是不是PWMA只要给PWMB_PSCR=12,12分频就行了
这样设置是不是这两个时钟跑一样快了

QQ624353765 发表于 2025-5-26 13:50:41

梁工 发表于 2025-5-26 12:05
两个完全独立、无关的外设,设置完全独立的。

我的意思是我想让这两个定时器都跑一样快
定时器0的配置时0分频12T工作模式
是不是PWMA只要给PWMB_PSCR=12,12分频就行了
这样设置是不是这两个时钟跑一样快了

梁工 发表于 2025-5-26 13:55:54

QQ624353765 发表于 2025-5-26 13:50
我的意思是我想让这两个定时器都跑一样快
定时器0的配置时0分频12T工作模式
是不是PWMA只要给PWMB_PSCR=1 ...

PWMB_PSCR=11;//12分频
页: [1]
查看完整版本: 高级PWM和定时器0匹配问题