原子的例程:
while(1) {
delay_ms(10);
if(dir)led0pwmval++;
else led0pwmval--;
if(led0pwmval>300)dir=0;
if(led0pwmval==0)dir=1;
TIM_SetCompare2(TIM3,led0pwmval);
}
我改过的:
while(1)
{
if(Channel1Pulse>1000) dir = 0;
if(Channel1Pulse==400) dir = 1;
if(dir) Channel1Pulse++;
if(!dir) Channel1Pulse--;
TIM_SetCompare1(TIM1,Channel1Pulse);
delay_ms(1000);
delay_ms(1000);
}
我的不出波形,按理来说应该是占空比变化的啊!!现在输出 为低电平。。。
Channel1Pulse=1000;
TIM_SetCompare1(TIM1,Channel1Pulse);
delay_ms(1000);
delay_ms(1000);
Channel1Pulse=400;
TIM_SetCompare1(TIM1,Channel1Pulse);
delay_ms(1000);
delay_ms(1000);
这样写也好使。。。也能变。。但是连续的就不行,这是为什么 啊?大侠们请指教。。。
|