论坛元老
 
- 积分
- 4910
- 金钱
- 4910
- 注册时间
- 2017-7-6
- 在线时间
- 720 小时
|
发表于 2018-5-4 15:52:40
|
显示全部楼层
本帖最后由 程功之道 于 2018-5-4 15:53 编辑
int main(void)
{
u16 led0pwmval=20;
u16 led0pwmva2=100;
u8 dir=1;
delay_init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
uart_init(115200);
LED_Init();
TIM3_PWM_Init(999,719); //这样设置周期就是10ms
while(1)
{
//delay_ms(10); 不要delay
//if(dir)led0pwmval++;
//else led0pwmval--;
//if(led0pwmval>300)dir=0;
//if(led0pwmval==0)dir=1;
TIM_SetCompare2(TIM3,led0pwmval); //占空比20
TIM_SetCompare1(TIM3,led0pwmva2); //占空比100
}
}
楼主 你按照我这样设置,用逻辑分析仪或者示波器一抓,周期就是10ms啦 ,一个灯亮点,一个灯暗点,那个delay延时10ms是为了控制呼吸时间,所以周期计算就是(arr+1)(psc+1)/72M |
|