我想在EK-RA6M3板子上输出一个PWM波,频率是4Mhz的,但是我最多只能设置为4Mhz,然后频率需要微调,比如4.01M,4.02M(步进10Khz左右的PWM),请问要怎么设置才能设置4.01Mhz呢?我这边只能设置为4Mhz。
120M时钟输出4MHz的PWM, 在周期寄存器里面设置的数值是29 (30 -1), 4M / 30 = 0.133M, 也就是在周期寄存器里面变化1个count, 实际频率变化为0.133M, 你的目标是要变化0.01M, 这个相差了13倍
例程只是给的一个方法, 简单地说, 4M对应的period_counts = 30(忽略减1), 那么目标频率为4.01, 这对应的period_counts…
6m3上面的gpt时钟源PCLKD是120Mhz的,所以我periodset设置了30输出4M的PWM
所以如果我要4.01MHZ的PWM波我要怎么修改呢?我还是不太懂,如果可以麻烦讲得详细一些谢谢
因为根据这个我改GPT_EXAMPLE_MSEC_PER_SEC (4010000) GPT_EXAMPLE_DESIRED_PERIOD_MSEC (1)也设置不出4.01Mhz出来
例程只是给的一个方法, 简单地说, 4M对应的period_counts = 30(忽略减1), 那么目标频率为4.01, 这对应的period_counts = 4.01*30/4 = 30.075. 那么对映16进制数还是30, 所以你测到的频率没有变化.
如此, 分辨率不够, 无法实现变化0.01M的频率变化.
RA系列的MCU里面的GPT的时钟源PCLKD最大是不是只有120Mhz,如果这样的话那就是不能实现0.01M的频率变化了?
每变化一个count, 变化0.1333Mhz