正常输出脉冲。
用
TIM3->ARR=5-1; //脉冲数
或 _HAL_TIM_SET_AUTORELOAD(&htim3,5-1);//脉冲数
主定时器tim2的ARR是脉冲频率,CCR1是占空比。
TIM2->CCR1=ARR/2;//占空比(50%)
回调函数:
HAL_TIM_PeriodElapsedCallback();//放在main.c下面。
回调函数里放tim23stop函数。
下图是TIM2触发输出类型选择错误的波形
图中设置为输出4个脉冲,实际输出多了一前一后两个杂波,时间4-6us。分析原因是因为按参考手册p276页定时器的连接有关说明,把tim2输出设置为update envet事件,事件软触发tim3时钟,事件触发时主从定时器时钟是不同步的,时间差就产生了tim3开关时pwm脉冲泄露,漏出两个杂波来了。处理办法就是严格同步tim23脉冲信号,tim2输出oc硬触发tim3,保证无漏网之鱼。