我发现将原子哥的MINISTM32板子上的PWM例程稍微改动一点后,便出现LED0不在改变亮度,既没有PWM输出。将原子哥的源程序里面MAIN函数中的led0pwmval一开始初始化改动下,将led0pwmval=1,问题便出现。将这个变量改为其他值不会出现此现象。感到很奇怪,其他所有设置都没变。原子哥看看什么问题?
主函数现在改为:
int main(void)
{
u16 led0pwmval=1;
u8 dir=1;
delay_init(); //延时函数初始化
LED_Init(); //初始化与LED连接的硬件接口
TIM1_PWM_Init(899,0);//不分频。PWM频率=72000/(899+1)=80Khz
while(1)
{
delay_ms(10);
if(dir)led0pwmval++;
else led0pwmval--;
if(led0pwmval>300)dir=0;
if(led0pwmval==0)dir=1;
TIM_SetCompare1(TIM1,led0pwmval);
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
不做任何改动,OK么?
---------------------------------
OK,就是改动了之后LED0一直是亮的,感觉很奇怪,不知道为什么?下次怎么避免出现这种情况?原子哥,这是为什么呢?
---------------------------------
就只是这里改变了,别的地方都没有改动,觉得很奇怪。
一周热门 更多>