


正常输出脉冲。
用
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,保证无漏网之鱼。
博客探讨了在嵌入式系统中使用TIM2和TIM3进行脉冲输出时遇到的问题。当TIM2设置为UPDATE事件触发TIM3时,由于事件不同步导致额外脉冲泄漏,产生杂波。解决方法是通过硬触发机制确保TIM2和TIM3的同步,以消除脉冲泄露。内容涉及到定时器配置、PWM占空比调整以及事件同步策略。
1561

被折叠的 条评论
为什么被折叠?



