PWM

使用Rtt的PWM驱动,STM32无法使用PWM1(即无法使用定时器1)

发布于 2019-08-11 12:03:38
使用Rtt的PWM驱动,STM32无法使用PWM1(即无法使用定时器1)。
打算使用STM32F4的timer1来实现PWM的输出,但是发现配置完后报错,提示如下:
libraries\HAL_Drivers\drv_pwm.c(91): error:  #20: identifier "PWM1_CONFIG" is undefined
最后发现pwm_config.h文件并没有定义PWM1_CONFIG,
如下所示:是从PWM2开始的。
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2018-12-13 zylx first version
*/

#ifndef __PWM_CONFIG_H__
#define __PWM_CONFIG_H__

#include

#ifdef __cplusplus
extern "C" {
#endif

#ifdef BSP_USING_PWM2
#ifndef PWM2_CONFIG
#define PWM2_CONFIG \
{ \
.tim_handle.Instance = TIM2, \
.name = "pwm2", \
.channel = 0 \
}
#endif /* PWM2_CONFIG */
#endif /* BSP_USING_PWM2 */

#ifdef BSP_USING_PWM3
#ifndef PWM3_CONFIG
#define PWM3_CONFIG \
{ \
.tim_handle.Instance = TIM3, \
.name = "pwm3", \
.channel = 0 \
}
#endif /* PWM3_CONFIG */
#endif /* BSP_USING_PWM3 */

#ifdef BSP_USING_PWM4
#ifndef PWM4_CONFIG
#define PWM4_CONFIG \
{ \
.tim_handle.Instance = TIM4, \
.name = "pwm4", \
.channel = 0 \
}
#endif /* PWM4_CONFIG */
#endif /* BSP_USING_PWM4 */

#ifdef BSP_USING_PWM5
#ifndef PWM5_CONFIG
#define PWM5_CONFIG \
{ \
.tim_handle.Instance = TIM5, \
.name = "pwm5", \
.channel = 0 \
}
#endif /* PWM5_CONFIG */
#endif /* BSP_USING_PWM5 */

#ifdef __cplusplus
}
#endif

#endif /* __PWM_CONFIG_H__ */
很好奇,难道rtt的pwm驱动不支持STM32的timer1作为PWM输出?

查看更多

关注者
0
被浏览
665
1 个回答
yqiu
yqiu 2019-08-11
看下这篇文档吧
gersonfly
gersonfly 2020-06-19
同样碰到这个问题,请问解决了么?
gersonfly
gersonfly 2020-06-19
找呀找啊,pwm_config.h文件并没有定义PWM1_CONFIG,最后自己仿造了一个PWM1_CONFIG


#ifdef BSP_USING_PWM1
#ifndef PWM1_CONFIG
#define PWM1_CONFIG \
{ \
.tim_handle.Instance = TIM1, \
.name = "pwm1", \
.channel = 0 \
}
#endif /* PWM1_CONFIG */
#endif /* BSP_USING_PWM1 */

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友