关于stm32 PWM的问题

2019-03-23 19:58发布

请问TIM-OCMode中可以选择定时器的工作模式,有PWM模式,输出比较触发模式,输出比较时间模式,还有捕获模式,这些都是什么意思啊,这些模式分别都是干什么的 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
Li_Lei
1楼-- · 2019-03-24 05:34
/ /* Turn on LD2 and LD3 */
    GPIO_SetBits(GPIO_LED, GPIO_Pin_7 | GPIO_Pin_8);
    /* Turn off LD1 */
    GPIO_ResetBits(GPIO_LED, GPIO_Pin_6);
Li_Lei
2楼-- · 2019-03-24 08:57
 精彩回答 2  元偷偷看……
Li_Lei
3楼-- · 2019-03-24 09:56
举个例子吧:
你想做pwm用定时方式当然也是可以的,但当你的pwm频率很高的时候比如100K,12位控制精度用定时方式就应付不过来了。
dong130300
4楼-- · 2019-03-24 13:57
这是别人在中断中写的程序,用的是TIM通用定时器输出比较触发模式
void TIM2_IRQHandler(void)

{

    vu16 capture=0;

    if(TIM_GetITStatus(TIM2,TIM_IT_CC1) != RESET)

    {

        //GPIO_WriteBit(GPIOA , GPIO_Pin_4,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_4)));        

        capture = TIM_GetCapture1(TIM2);

        TIM_SetCompare1(TIM2,capture + CCR1_Val);

        TIM_ClearITPendingBit(TIM2,TIM_IT_CC1);

    }

    else if(TIM_GetITStatus(TIM2,TIM_IT_CC2) != RESET)

    {

        //GPIO_WriteBit(GPIOA , GPIO_Pin_5,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_5)));        

        capture = TIM_GetCapture2(TIM2);

        TIM_SetCompare2(TIM2,capture + CCR2_Val);

        TIM_ClearITPendingBit(TIM2,TIM_IT_CC2);
}

capture = TIM_GetCapture1(TIM2);
TIM_SetCompare1(TIM2,capture + CCR1_Val);
的作用是什么,是确定他的频率吗

在tim的配置时,为什么period是65535啊
TIM_TimeBaseStructure.TIM_Period = 65535;
TIM_TimeBaseStructure.TIM_Prescaler = 7199;
Li_Lei
5楼-- · 2019-03-24 14:20
 精彩回答 2  元偷偷看……

一周热门 更多>