主题中讨论的其他器件:SysConfig
大家好!
我尝试从"mspm0_SDK_1_00_01_03"修改了示例"timx_timer_mode_capture_duty_and_period"。 我将定时器的引脚更改为引脚1、定时器从 TIMG0更改为 TIMA0、定时器时钟分频器从1更改为8。 因此时钟频率为15.63kHz。
施加到引脚1的信号如下所示:
信号为周期性信号、周期时间约为2.36ms。 电压范围为0V 至3.3V。
我的代码如下所示:
计时器的.sysconfig 文件如下所示:
CAPTURE1.$name ="capture_0";
CAPTURE1.captMode ="合并";
CAPTURE1.timerClkPrescale = 256;
CAPTURE1.interrupts =["cC0_DN"];
CAPTURE1.timerPeriod ="16ms";
CAPTURE1.timerClkDiv = 8;
CAPTURE1.peripheral.$ASSIGN ="TIMA0";
CAPTURE1.peripheral.ccp0PIN.$ASSIGN ="PA0";
我的问题是定时器不能正确测量周期时间。 无论引脚1施加多大的频率、我为变量"pwmPeriod"获得的值始终为1751 (十进制)。
1751*(1/15630)= 11ms/周期 ->应为2.36ms/周期。
寄存器 CC01的值始终为0xF9。
寄存器 CC00的值根据信号的高电平时间发生变化。
有人知道我做错了什么吗?

