初级会员

- 积分
- 141
- 金钱
- 141
- 注册时间
- 2014-3-29
- 在线时间
- 63 小时
|
10金钱
请教大神,为什么原子哥的PWM输出实验中在主函数main()中的while(1)大循环有一句延时函数delay_ms(10);
当有这个延时10毫秒的时候实验现象一切正常LED0能够亮度变化。但是当我将这一行延时函数注释掉,LED0就没有任何变化了。
按道理说PWM输出应该和延时函数没有关系啊。
原子哥给的原版函数只是注释掉这一行延时函数就没有变化了,请大神们指点迷津。
int main(void)
{
u16 led0pwmval=0;
u8 dir=1;
delay_init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
uart_init(115200);
LED_Init();
TIM3_PWM_Init(899,0);
while(1)
{
//delay_ms(10); //注释掉这一行LED0就没有亮度的变化了,请问为什么呀????
if(dir)led0pwmval++;
else led0pwmval--;
if(led0pwmval>300)dir=0;
if(led0pwmval==0)dir=1;
TIM_SetCompare2(TIM3,led0pwmval);
}
}
|
|