本帖最后由 玄德 于 2023-3-1 09:59 编辑
GD32F470VIT6 芯片,用 IO 翻转的办法,配合示波器,简单测量定时器的时钟源的频率。
程序大概是这样:
PSC 赋值;
while(1)
{
IO翻转;
定时器 CNT 清零,启动;
while ( CNT < 240 );
}
根据电平的宽度和 PSC、"240" 这些数值,可以估算出时钟源的频率值。
测试 TIMER5,得到的频率居然是变化的,有时是 120MHz,有时是 240MHz,甚至 480MHz 。
TIMER11 也有类似的现象。
多次实验,发现问题这样描述更合适:PSC 不起作用,无论是 0、1、2 还是 59,只要阈值“240”不变,脉冲宽度就不变。
示波器没问题;观察 RCU 寄存器,没有变化。
是哪里的问题?
|