mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-01-18 18:03:31 +08:00
[Bsp][stm32f4xx-hal][pwm]format code
This commit is contained in:
parent
e1838418fb
commit
257f147a97
@ -25,14 +25,17 @@
|
|||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
#include <rtdevice.h>
|
#include <rtdevice.h>
|
||||||
#include <board.h>
|
#include <board.h>
|
||||||
|
|
||||||
#define MAX_PERIOD 65535
|
#define MAX_PERIOD 65535
|
||||||
#define MIN_PERIOD 3
|
#define MIN_PERIOD 3
|
||||||
#define MIN_PULSE 2
|
#define MIN_PULSE 2
|
||||||
|
|
||||||
static rt_err_t drv_pwm_control(struct rt_device_pwm *device, int cmd, void *arg);
|
static rt_err_t drv_pwm_control(struct rt_device_pwm *device, int cmd, void *arg);
|
||||||
static struct rt_pwm_ops drv_ops =
|
static struct rt_pwm_ops drv_ops =
|
||||||
{
|
{
|
||||||
.control = drv_pwm_control
|
drv_pwm_control
|
||||||
};
|
};
|
||||||
|
|
||||||
static rt_err_t drv_pwm_enable(TIM_HandleTypeDef * htim, struct rt_pwm_configuration *configuration, rt_bool_t enable)
|
static rt_err_t drv_pwm_enable(TIM_HandleTypeDef * htim, struct rt_pwm_configuration *configuration, rt_bool_t enable)
|
||||||
{
|
{
|
||||||
rt_uint32_t channel = 0x04 * configuration->channel;
|
rt_uint32_t channel = 0x04 * configuration->channel;
|
||||||
@ -43,6 +46,7 @@ static rt_err_t drv_pwm_enable(TIM_HandleTypeDef * htim, struct rt_pwm_configura
|
|||||||
HAL_TIM_PWM_Start(htim, channel);
|
HAL_TIM_PWM_Start(htim, channel);
|
||||||
return RT_EOK;
|
return RT_EOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static rt_err_t drv_pwm_get(TIM_HandleTypeDef * htim, struct rt_pwm_configuration *configuration)
|
static rt_err_t drv_pwm_get(TIM_HandleTypeDef * htim, struct rt_pwm_configuration *configuration)
|
||||||
{
|
{
|
||||||
rt_uint32_t channel = 0x04 * configuration->channel;
|
rt_uint32_t channel = 0x04 * configuration->channel;
|
||||||
@ -72,6 +76,7 @@ static rt_err_t drv_pwm_get(TIM_HandleTypeDef * htim, struct rt_pwm_configuratio
|
|||||||
configuration->pulse = (__HAL_TIM_GET_COMPARE(htim, channel) + 1) * (htim->Instance->PSC + 1) * 1000UL / tim_clock;
|
configuration->pulse = (__HAL_TIM_GET_COMPARE(htim, channel) + 1) * (htim->Instance->PSC + 1) * 1000UL / tim_clock;
|
||||||
return RT_EOK;
|
return RT_EOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static rt_err_t drv_pwm_set(TIM_HandleTypeDef * htim, struct rt_pwm_configuration *configuration)
|
static rt_err_t drv_pwm_set(TIM_HandleTypeDef * htim, struct rt_pwm_configuration *configuration)
|
||||||
{
|
{
|
||||||
rt_uint32_t period, pulse;
|
rt_uint32_t period, pulse;
|
||||||
@ -111,6 +116,7 @@ static rt_err_t drv_pwm_set(TIM_HandleTypeDef * htim, struct rt_pwm_configuratio
|
|||||||
__HAL_TIM_SET_COMPARE(htim, channel, pulse - 1 );
|
__HAL_TIM_SET_COMPARE(htim, channel, pulse - 1 );
|
||||||
return RT_EOK;
|
return RT_EOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static rt_err_t drv_pwm_control(struct rt_device_pwm *device, int cmd, void *arg)
|
static rt_err_t drv_pwm_control(struct rt_device_pwm *device, int cmd, void *arg)
|
||||||
{
|
{
|
||||||
struct rt_pwm_configuration * configuration = (struct rt_pwm_configuration *)arg;
|
struct rt_pwm_configuration * configuration = (struct rt_pwm_configuration *)arg;
|
||||||
@ -130,7 +136,9 @@ static rt_err_t drv_pwm_control(struct rt_device_pwm *device, int cmd, void *arg
|
|||||||
return RT_EINVAL;
|
return RT_EINVAL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle);
|
static void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle);
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM1
|
#ifdef BSP_USING_PWM1
|
||||||
TIM_HandleTypeDef htim1;
|
TIM_HandleTypeDef htim1;
|
||||||
#endif
|
#endif
|
||||||
@ -179,30 +187,35 @@ static void MX_TIM1_Init(void)
|
|||||||
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
|
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
|
||||||
sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET;
|
sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET;
|
||||||
sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET;
|
sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET;
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM1_CH1
|
#ifdef BSP_USING_PWM1_CH1
|
||||||
if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
|
if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
|
||||||
{
|
{
|
||||||
RT_ASSERT(0);
|
RT_ASSERT(0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM1_CH1 */
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM1_CH2
|
#ifdef BSP_USING_PWM1_CH2
|
||||||
if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
|
if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
|
||||||
{
|
{
|
||||||
RT_ASSERT(0);
|
RT_ASSERT(0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM1_CH2 */
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM1_CH3
|
#ifdef BSP_USING_PWM1_CH3
|
||||||
if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)
|
if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)
|
||||||
{
|
{
|
||||||
RT_ASSERT(0);
|
RT_ASSERT(0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM1_CH3 */
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM1_CH4
|
#ifdef BSP_USING_PWM1_CH4
|
||||||
if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_4) != HAL_OK)
|
if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_4) != HAL_OK)
|
||||||
{
|
{
|
||||||
RT_ASSERT(0);
|
RT_ASSERT(0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM1_CH4 */
|
||||||
|
|
||||||
sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE;
|
sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE;
|
||||||
sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE;
|
sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE;
|
||||||
sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF;
|
sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF;
|
||||||
@ -210,13 +223,14 @@ static void MX_TIM1_Init(void)
|
|||||||
sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE;
|
sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE;
|
||||||
sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_HIGH;
|
sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_HIGH;
|
||||||
sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_DISABLE;
|
sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_DISABLE;
|
||||||
|
|
||||||
if (HAL_TIMEx_ConfigBreakDeadTime(&htim1, &sBreakDeadTimeConfig) != HAL_OK)
|
if (HAL_TIMEx_ConfigBreakDeadTime(&htim1, &sBreakDeadTimeConfig) != HAL_OK)
|
||||||
{
|
{
|
||||||
RT_ASSERT(0);
|
RT_ASSERT(0);
|
||||||
}
|
}
|
||||||
HAL_TIM_MspPostInit(&htim1);
|
HAL_TIM_MspPostInit(&htim1);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM1 */
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM2
|
#ifdef BSP_USING_PWM2
|
||||||
static void MX_TIM2_Init(void)
|
static void MX_TIM2_Init(void)
|
||||||
@ -245,33 +259,39 @@ static void MX_TIM2_Init(void)
|
|||||||
sConfigOC.Pulse = 0;
|
sConfigOC.Pulse = 0;
|
||||||
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
|
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
|
||||||
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
|
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM2_CH1
|
#ifdef BSP_USING_PWM2_CH1
|
||||||
if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
|
if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
|
||||||
{
|
{
|
||||||
RT_ASSERT(0);
|
RT_ASSERT(0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM2_CH1 */
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM2_CH2
|
#ifdef BSP_USING_PWM2_CH2
|
||||||
if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
|
if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
|
||||||
{
|
{
|
||||||
RT_ASSERT(0);
|
RT_ASSERT(0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM2_CH2 */
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM2_CH3
|
#ifdef BSP_USING_PWM2_CH3
|
||||||
if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)
|
if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)
|
||||||
{
|
{
|
||||||
RT_ASSERT(0);
|
RT_ASSERT(0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM2_CH3 */
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM2_CH4
|
#ifdef BSP_USING_PWM2_CH4
|
||||||
if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_4) != HAL_OK)
|
if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_4) != HAL_OK)
|
||||||
{
|
{
|
||||||
RT_ASSERT(0);
|
RT_ASSERT(0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM2_CH3 */
|
||||||
|
|
||||||
HAL_TIM_MspPostInit(&htim2);
|
HAL_TIM_MspPostInit(&htim2);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM2 */
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM3
|
#ifdef BSP_USING_PWM3
|
||||||
void MX_TIM3_Init(void)
|
void MX_TIM3_Init(void)
|
||||||
{
|
{
|
||||||
@ -304,28 +324,33 @@ void MX_TIM3_Init(void)
|
|||||||
{
|
{
|
||||||
RT_ASSERT(0);
|
RT_ASSERT(0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM3_CH1 */
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM3_CH2
|
#ifdef BSP_USING_PWM3_CH2
|
||||||
if (HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
|
if (HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
|
||||||
{
|
{
|
||||||
RT_ASSERT(0);
|
RT_ASSERT(0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM3_CH2 */
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM3_CH3
|
#ifdef BSP_USING_PWM3_CH3
|
||||||
if (HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)
|
if (HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)
|
||||||
{
|
{
|
||||||
RT_ASSERT(0);
|
RT_ASSERT(0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM3_CH3 */
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM3_CH4
|
#ifdef BSP_USING_PWM3_CH4
|
||||||
if (HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_4) != HAL_OK)
|
if (HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_4) != HAL_OK)
|
||||||
{
|
{
|
||||||
RT_ASSERT(0);
|
RT_ASSERT(0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM3_CH4 */
|
||||||
|
|
||||||
HAL_TIM_MspPostInit(&htim3);
|
HAL_TIM_MspPostInit(&htim3);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM3 */
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM4
|
#ifdef BSP_USING_PWM4
|
||||||
void MX_TIM4_Init(void)
|
void MX_TIM4_Init(void)
|
||||||
{
|
{
|
||||||
@ -358,28 +383,33 @@ void MX_TIM4_Init(void)
|
|||||||
{
|
{
|
||||||
RT_ASSERT(0);
|
RT_ASSERT(0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM4_CH1 */
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM4_CH2
|
#ifdef BSP_USING_PWM4_CH2
|
||||||
if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
|
if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
|
||||||
{
|
{
|
||||||
RT_ASSERT(0);
|
RT_ASSERT(0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM4_CH2 */
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM4_CH3
|
#ifdef BSP_USING_PWM4_CH3
|
||||||
if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)
|
if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)
|
||||||
{
|
{
|
||||||
RT_ASSERT(0);
|
RT_ASSERT(0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM4_CH3 */
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM4_CH4
|
#ifdef BSP_USING_PWM4_CH4
|
||||||
if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_4) != HAL_OK)
|
if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_4) != HAL_OK)
|
||||||
{
|
{
|
||||||
RT_ASSERT(0);
|
RT_ASSERT(0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM4_CH4 */
|
||||||
|
|
||||||
HAL_TIM_MspPostInit(&htim4);
|
HAL_TIM_MspPostInit(&htim4);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM4 */
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM5
|
#ifdef BSP_USING_PWM5
|
||||||
void MX_TIM5_Init(void)
|
void MX_TIM5_Init(void)
|
||||||
{
|
{
|
||||||
@ -412,22 +442,26 @@ void MX_TIM5_Init(void)
|
|||||||
{
|
{
|
||||||
RT_ASSERT(0);
|
RT_ASSERT(0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM5_CH1 */
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM5_CH2
|
#ifdef BSP_USING_PWM5_CH2
|
||||||
if (HAL_TIM_PWM_ConfigChannel(&htim5, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
|
if (HAL_TIM_PWM_ConfigChannel(&htim5, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
|
||||||
{
|
{
|
||||||
RT_ASSERT(0);
|
RT_ASSERT(0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM5_CH2 */
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM5_CH3
|
#ifdef BSP_USING_PWM5_CH3
|
||||||
if (HAL_TIM_PWM_ConfigChannel(&htim5, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)
|
if (HAL_TIM_PWM_ConfigChannel(&htim5, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)
|
||||||
{
|
{
|
||||||
RT_ASSERT(0);
|
RT_ASSERT(0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM5_CH3 */
|
||||||
|
|
||||||
HAL_TIM_MspPostInit(&htim5);
|
HAL_TIM_MspPostInit(&htim5);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BSP_USING_PWM5 */
|
||||||
|
|
||||||
void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* tim_pwmHandle)
|
void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* tim_pwmHandle)
|
||||||
{
|
{
|
||||||
if(tim_pwmHandle->Instance==TIM1)
|
if(tim_pwmHandle->Instance==TIM1)
|
||||||
@ -451,7 +485,8 @@ void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* tim_pwmHandle)
|
|||||||
__HAL_RCC_TIM5_CLK_ENABLE();
|
__HAL_RCC_TIM5_CLK_ENABLE();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle)
|
|
||||||
|
static void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle)
|
||||||
{
|
{
|
||||||
GPIO_InitTypeDef GPIO_InitStruct;
|
GPIO_InitTypeDef GPIO_InitStruct;
|
||||||
if(timHandle->Instance==TIM1)
|
if(timHandle->Instance==TIM1)
|
||||||
@ -581,18 +616,22 @@ int drv_pwm_init(void)
|
|||||||
MX_TIM1_Init();
|
MX_TIM1_Init();
|
||||||
rt_device_pwm_register(rt_calloc(1,sizeof(struct rt_device_pwm)), "pwm1", &drv_ops, &htim1);
|
rt_device_pwm_register(rt_calloc(1,sizeof(struct rt_device_pwm)), "pwm1", &drv_ops, &htim1);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM2
|
#ifdef BSP_USING_PWM2
|
||||||
MX_TIM2_Init();
|
MX_TIM2_Init();
|
||||||
rt_device_pwm_register(rt_calloc(1,sizeof(struct rt_device_pwm)), "pwm2", &drv_ops, &htim2);
|
rt_device_pwm_register(rt_calloc(1,sizeof(struct rt_device_pwm)), "pwm2", &drv_ops, &htim2);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM3
|
#ifdef BSP_USING_PWM3
|
||||||
MX_TIM3_Init();
|
MX_TIM3_Init();
|
||||||
rt_device_pwm_register(rt_calloc(1,sizeof(struct rt_device_pwm)), "pwm3", &drv_ops, &htim3);
|
rt_device_pwm_register(rt_calloc(1,sizeof(struct rt_device_pwm)), "pwm3", &drv_ops, &htim3);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM4
|
#ifdef BSP_USING_PWM4
|
||||||
MX_TIM4_Init();
|
MX_TIM4_Init();
|
||||||
rt_device_pwm_register(rt_calloc(1,sizeof(struct rt_device_pwm)), "pwm4", &drv_ops, &htim4);
|
rt_device_pwm_register(rt_calloc(1,sizeof(struct rt_device_pwm)), "pwm4", &drv_ops, &htim4);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef BSP_USING_PWM5
|
#ifdef BSP_USING_PWM5
|
||||||
MX_TIM5_Init();
|
MX_TIM5_Init();
|
||||||
rt_device_pwm_register(rt_calloc(1,sizeof(struct rt_device_pwm)), "pwm5", &drv_ops, &htim5);
|
rt_device_pwm_register(rt_calloc(1,sizeof(struct rt_device_pwm)), "pwm5", &drv_ops, &htim5);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user