输出pwm频率取决于信号频率fs和一个信号周期内需要输出的点数n,即pwm的频率fp=n*fs.对于正弦波而言,一般n>40,理论上越大越好.
得到的是总的捕获次数 可以用另一个定时器 计算时间 如果1秒钟 捕获到了100次 那么频率就是100
由寄存器的值和寄存器最大值的比值决定,忘了是哪个寄存器了,reference上讲的很详细,看一下就知道了.望采纳!!!
不能STM32F1xx, IO的频率最大到50Mhz PWM频率 = 时钟频率 / PWM分辨率 如72M时钟,PWM 波的占空最小变化值 1%的话 则最大PWM频率为 72e6 /100 =720 kHz 如72M时钟,PWM 波的占空最小变化值 1/256的话 则最大PWM频率为 72e6 /256 =281250Hz
不能stm32f1xx, io的频率最大到50mhzpwm频率 = 时钟频率 / pwm分辨率如72m时钟,pwm 波的占空最小变化值 1%的话 则最大pwm频率为 72e6 /100 =720 khz如72m时钟,pwm 波的占空最小变化值 1/256的话 则最大pwm频率为 72e6 /256 =281250hz
主定时器作为脉冲发生器, 从定时器作为计数器. 这样是可行的.不过, 我觉得 STM32 的速度这么快, 用中断计数就够了.
10hz就用定时自己做做了!就不要用stm的自带PWM了!
这个好弄啊!比如:4ms;你设置定时器周期为1ms,那么用个if语句,i++,当i=5时,i=0;此时执行4ms动作,这样就可以了.
库函数有个函数可以修改
首先,确定TIMx的时钟,除非APB1的时钟分频数设置为1,否则通用定时器TIMx的时钟是APB1时钟的2倍,这时的TIMx时钟为72MHz,用这个TIMx时钟72MHz除以(PSC+1),得到定时器每隔多少秒涨一次,这里给PSC赋7199,计算得定时器