野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12827|回复: 0

普通定时器输出PWM出现问题,最高电压只有0.6V

[复制链接]
发表于 2021-11-8 14:08:27 | 显示全部楼层 |阅读模式
PWM2模式,极性低,是F103,例程可以正常调



















#include "stm32f10x.h"

void pwm_init(void)
{
        TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
        TIM_OCInitTypeDef  TIM_OCInitStructure;
        GPIO_InitTypeDef GPIO_InitStructure;

        u16 CCR_Val = 2400;        
       
//        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
//       
//    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
//    GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF_PP;
//    GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_6;
//    GPIO_Init(GPIOC,&GPIO_InitStructure);
       
        /***************μ³¾ƷPWMʤ³ö¿ڪ******************/
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF_PP;
    GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_7;
    GPIO_Init(GPIOC,&GPIO_InitStructure);
        /*************************************************/
       
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
        /* Time base configuration */                 
        TIM_TimeBaseStructure.TIM_Period = 7199;      
        TIM_TimeBaseStructure.TIM_Prescaler = 0;  
        TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1 ;
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
        TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);

        /* PWM1 Mode configuration: Channel2 */
        TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;
        TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;       
        TIM_OCInitStructure.TIM_Pulse = CCR_Val;       
    TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;

        //TIM_OC1Init(TIM3, &TIM_OCInitStructure);
        TIM_OC2Init(TIM3, &TIM_OCInitStructure);       


        //TIM_OC1PreloadConfig(TIM3, TIM_OCPreload_Enable);
        TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable);

        TIM_ARRPreloadConfig(TIM3, ENABLE);


        TIM_Cmd(TIM3, ENABLE);  
}



int main()
{
    pwm_init();
    TIM_SetCompare2(TIM3,0);//问题:最高0.6V
    while(1){}
}

野火论坛202111081405089927..png
野火论坛202111081405009543..png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 04:41 , Processed in 0.029545 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表