你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 PWM

[复制链接]
tanic 提问时间:2018-9-11 10:45 /
基本配置不用讲,现在问题是,调用HAL_TIM_PWM_Stop(&htim1,TIM_CHANNEL_1);暂停PWM后想让IO电频输出高,有多少方案。
看到网上说配置sConfigOC.OCIdleState = TIM_OCIDLESTATE_SET;  并没有效果
收藏 评论6 发布时间:2018-9-11 10:45

举报

6个回答
疯de_恒 回答时间:2018-9-11 11:20:02
TIM_OCPolarity = TIM_OCPolarity_Low;

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

wenyangzeng 回答时间:2018-9-11 11:56:39
PWM1改PWM2试看看

评分

参与人数 1蝴蝶豆 +1 收起 理由
zero99 + 1

查看全部评分

tanic 回答时间:2018-9-11 13:18:42
本帖最后由 tanic 于 2018-9-11 13:33 编辑

搞定,还是通过修改占空比 0%的方式实现
tanic 回答时间:2018-9-11 13:33:50
void StartStopBeep(uint8_t a)
{
        TIM_OC_InitTypeDef sConfigOC;
        HAL_TIM_PWM_Stop(&htim1,TIM_CHANNEL_1);
        if(a==0)
        {
//                        HAL_TIM_PWM_Stop(&htim1,TIM_CHANNEL_1);
                sConfigOC.OCMode = TIM_OCMODE_PWM1;
                sConfigOC.Pulse = 999;
                sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
                sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH;
                sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
                sConfigOC.OCIdleState = TIM_OCIDLESTATE_SET;
                sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET;
                HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1);
        }
        else
        {
//                        HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);
          sConfigOC.OCMode = TIM_OCMODE_PWM1;
                sConfigOC.Pulse = 499;
                sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
                sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH;
                sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
                sConfigOC.OCIdleState = TIM_OCIDLESTATE_SET;
                sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET;
                HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1);
        }
        HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);
}
feixiang20 回答时间:2018-9-11 22:47:25
写个函数,单独更改pwm的占空比就行。不用重新初始化,不然容易造成乱跳。

评分

参与人数 1蝴蝶豆 +1 收起 理由
zero99 + 1

查看全部评分

tanic 回答时间:2018-9-12 10:00:08
feixiang20 发表于 2018-9-11 22:47
写个函数,单独更改pwm的占空比就行。不用重新初始化,不然容易造成乱跳。 ...

HAL竟然没有提供函数,得自己写寄存器

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版