查看: 3535|回复: 3

LPTIM32 PWM通道输出不能100%完全输出

[复制链接]

4

主题

8

帖子

64

积分

中级工程师

Rank: 2

积分
64
发表于 2022-7-5 16:31:42 | 显示全部楼层 |阅读模式
void MF_LPTIM32_Channel_Init(void)
{


    FL_GPIO_InitTypeDef    GPIO_InitStruct;


    FL_LPTIM32_OC_InitTypeDef    defaultInitStruct;


    GPIO_InitStruct.pin = FL_GPIO_PIN_8;
    GPIO_InitStruct.mode = FL_GPIO_MODE_DIGITAL;
    GPIO_InitStruct.outputType = FL_GPIO_OUTPUT_PUSHPULL;
    GPIO_InitStruct.pull = FL_DISABLE;
    GPIO_InitStruct.remapPin = FL_DISABLE;
    FL_GPIO_Init( GPIOA, &GPIO_InitStruct );
    defaultInitStruct.compareValue = 800;
    defaultInitStruct.OCPolarity = FL_LPTIM32_OC_POLARITY_NORMAL;
    FL_LPTIM32_OC_Init(LPTIM32,FL_LPTIM32_CHANNEL_1,&defaultInitStruct );
}


void MF_LPTIM32_Init(uint32_t psc,uint32_t arr)//psc=FL_LPTIM32_PSC_DIV4,             arr=750
{
    /*IO CONFIG*/
    FL_LPTIM32_InitTypeDef    defaultInitStruct;
    defaultInitStruct.clockSource = FL_RCC_LPTIM32_CLK_SOURCE_APB1CLK;
    defaultInitStruct.prescalerClockSource = FL_LPTIM32_CLK_SOURCE_INTERNAL;
    defaultInitStruct.prescaler = psc;
    defaultInitStruct.autoReload = arr;//
    defaultInitStruct.mode = FL_LPTIM32_OPERATION_MODE_NORMAL;
    defaultInitStruct.onePulseMode = FL_LPTIM32_ONE_PULSE_MODE_CONTINUOUS;
    defaultInitStruct.countEdge = FL_LPTIM32_ETR_COUNT_EDGE_RISING;
    defaultInitStruct.triggerEdge = FL_LPTIM32_ETR_TRIGGER_EDGE_RISING;


    FL_LPTIM32_Init(LPTIM32,&defaultInitStruct );
    MF_LPTIM32_Channel_Init();
    //使能LPTIM32
    FL_LPTIM32_Enable(LPTIM32);
}
void Led1PWMSet(uint32_t compareValue)
{
        FL_LPTIM32_WriteCompareCH1(LPTIM32, compareValue);
}




回复

使用道具 举报

155

主题

847

帖子

4681

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4681
发表于 2022-7-6 08:48:17 | 显示全部楼层
没看懂你想要实现什么功能。表述清楚。什么功能不能实现?
回复

使用道具 举报

4

主题

8

帖子

64

积分

中级工程师

Rank: 2

积分
64
 楼主| 发表于 2022-7-8 14:38:57 | 显示全部楼层
PWM输出占空比0-100%都能调制,但是LPTIM32 PWM通道不能100%调制
回复

使用道具 举报

155

主题

847

帖子

4681

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4681
发表于 2022-7-11 09:14:33 | 显示全部楼层
本帖最后由 顾博文 于 2022-7-12 08:28 编辑
zcqztw 发表于 2022-7-8 14:38
PWM输出占空比0-100%都能调制,但是LPTIM32 PWM通道不能100%调制

可以实现的,将CCR比较器值大小 超过周期ARR值,就可以了。 例程里写的是 X -1 。你把这个X 填上0 ,可以实现。所以理解先理解下例程,然后再去修改你自己的代码。
回复

使用道具 举报

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

本版积分规则

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