查看: 3917|回复: 1

ATIM通道4输出PWM的设置

[复制链接]

1

主题

1

帖子

25

积分

初级工程师

Rank: 1

积分
25
发表于 2023-3-21 17:26:37 | 显示全部楼层 |阅读模式
void MF_ATIM_TimerBase_Init(void)
{
    FL_ATIM_InitTypeDef    TimerBase_InitStruct;

    TimerBase_InitStruct.clockSource = FL_RCC_ATIM_CLK_SOURCE_APB2CLK;
    TimerBase_InitStruct.prescaler = 7;
    TimerBase_InitStruct.counterMode = FL_ATIM_COUNTER_DIR_UP;
    TimerBase_InitStruct.autoReload = 999;
    TimerBase_InitStruct.autoReloadState = FL_ENABLE;
    TimerBase_InitStruct.clockDivision = FL_ATIM_CLK_DIVISION_DIV1;
    TimerBase_InitStruct.repetitionCounter = 0;

    FL_ATIM_Init(ATIM, &TimerBase_InitStruct);   
}

/**
  * @brief  ATIM_FL_ATIM_CHANNEL_4_Channel4 Initialization function
  * @param  void
  * @retval None
  */
void MF_ATIM_FL_ATIM_CHANNEL_4_Channel4_Init(void)
{
    FL_GPIO_InitTypeDef    GPIO_InitStruct;

    FL_ATIM_OC_InitTypeDef    ATIM_InitStruct;

    /* PA9 ATIM_CH4 */
    GPIO_InitStruct.pin = FL_GPIO_PIN_9;
    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);

    ATIM_InitStruct.OCMode = FL_ATIM_OC_MODE_PWM1;
    ATIM_InitStruct.OCState = FL_ENABLE;
    ATIM_InitStruct.OCNState = FL_DISABLE;
    ATIM_InitStruct.OCPolarity = FL_ATIM_OC_POLARITY_NORMAL;
    ATIM_InitStruct.OCNPolarity = FL_ATIM_OC_POLARITY_NORMAL;
    ATIM_InitStruct.OCFastMode = FL_DISABLE;
    ATIM_InitStruct.OCPreload = FL_DISABLE;
    ATIM_InitStruct.compareValue = 500;
    ATIM_InitStruct.OCIdleState = FL_ATIM_OC_IDLE_STATE_LOW;
    ATIM_InitStruct.OCETRFStatus = FL_DISABLE;
    ATIM_InitStruct.OCNIdleState = FL_ATIM_OCN_IDLE_STATE_LOW;

    FL_ATIM_OC_Init(ATIM, FL_ATIM_CHANNEL_4, &ATIM_InitStruct);   
}
这是通过魔方生成的ATIM通道4输出PWM,为什么没有信号输出,不知道哪里不对,通道1、2、3都是正常的

回复

使用道具 举报

154

主题

846

帖子

4624

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4624
发表于 2023-3-29 10:34:53 | 显示全部楼层
引脚配置错误
/* PA9 ATIM_CH4 */
    GPIO_InitStruct.pin = FL_GPIO_PIN_9;
    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);
按照手册
    pa9 ch4 数字功能 应该是 2,需要改成FL_ENABLE    GPIO_InitStruct.remapPin = FL_ENABLE;

回复

使用道具 举报

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

本版积分规则

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