不能STM32F1xx, IO的频率最大到50Mhz
PWM频率 = 时钟频率 / PWM分辨率
如72M时钟,PWM 波的占空最小变化值 1%的话 则最大PWM频率为 72e6 /100 =720 kHz
如72M时钟,PWM 波的占空最小变化值 1/256的话 则最大PWM频率为 72e6 /256 =281250Hz
输出pwm频率取决于信号频率fs和一个信号周期内需要输出的点数n,即pwm的频率fp=n*fs。
对于正弦波而言,一般n40,理论上越大越好。
这个实验我刚研究过,我说说,看你可能理解我说的!
TIM_SetCompare2(TIM3,led0pwmval);通过这个函数可以往捕获/ 比较寄存器2(TIM3_CCR2)里面写值,当定时器3更新的时候,把led0pwmval写入到TIM3_CCR2里面,然后定时器就会不停的把TIM3_CNT寄存器的值和TIM3_CCR2寄存器里面的值进行比较,假如你设置的是向上计数模式,并且通过这个函数(TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //输出极性:TIM输出比较极性高)把TIM3的输出/比较极性设置为高的时候,那么此时如果TIM3_CNTTIM3_CCR2那么输出就是低电平,如果TIM3_CNT=TIM3_CCR2那么输出就是高电平,所以在这里(//输出极性:TIM输出比较极性高)的意思是TIM3_CNT=TIM3_CCR2时候的极性为高,明白了不?
本文标签:stm32pwm输出音频率