1.CH32驱动更新,新增硬件延迟函数。
2.CH32驱动修复,PWM通道设置初值。
This commit is contained in:
@@ -193,6 +193,7 @@ static int drv_pwm_channel_configure(struct mr_pwm *pwm, int channel, int state,
|
|||||||
GPIO_Init(pwm_data->ch1_port, &GPIO_InitStructure);
|
GPIO_Init(pwm_data->ch1_port, &GPIO_InitStructure);
|
||||||
TIM_OC1Init(pwm_data->instance, &TIM_OCInitStructure);
|
TIM_OC1Init(pwm_data->instance, &TIM_OCInitStructure);
|
||||||
TIM_OC1PreloadConfig(pwm_data->instance, state ? TIM_OCPreload_Enable : TIM_OCPreload_Disable);
|
TIM_OC1PreloadConfig(pwm_data->instance, state ? TIM_OCPreload_Enable : TIM_OCPreload_Disable);
|
||||||
|
TIM_SetCompare1(pwm_data->instance, 0);
|
||||||
return MR_EOK;
|
return MR_EOK;
|
||||||
}
|
}
|
||||||
case 2:
|
case 2:
|
||||||
@@ -201,6 +202,7 @@ static int drv_pwm_channel_configure(struct mr_pwm *pwm, int channel, int state,
|
|||||||
GPIO_Init(pwm_data->ch2_port, &GPIO_InitStructure);
|
GPIO_Init(pwm_data->ch2_port, &GPIO_InitStructure);
|
||||||
TIM_OC2Init(pwm_data->instance, &TIM_OCInitStructure);
|
TIM_OC2Init(pwm_data->instance, &TIM_OCInitStructure);
|
||||||
TIM_OC2PreloadConfig(pwm_data->instance, state ? TIM_OCPreload_Enable : TIM_OCPreload_Disable);
|
TIM_OC2PreloadConfig(pwm_data->instance, state ? TIM_OCPreload_Enable : TIM_OCPreload_Disable);
|
||||||
|
TIM_SetCompare2(pwm_data->instance, 0);
|
||||||
return MR_EOK;
|
return MR_EOK;
|
||||||
}
|
}
|
||||||
case 3:
|
case 3:
|
||||||
@@ -209,6 +211,7 @@ static int drv_pwm_channel_configure(struct mr_pwm *pwm, int channel, int state,
|
|||||||
GPIO_Init(pwm_data->ch3_port, &GPIO_InitStructure);
|
GPIO_Init(pwm_data->ch3_port, &GPIO_InitStructure);
|
||||||
TIM_OC3Init(pwm_data->instance, &TIM_OCInitStructure);
|
TIM_OC3Init(pwm_data->instance, &TIM_OCInitStructure);
|
||||||
TIM_OC3PreloadConfig(pwm_data->instance, state ? TIM_OCPreload_Enable : TIM_OCPreload_Disable);
|
TIM_OC3PreloadConfig(pwm_data->instance, state ? TIM_OCPreload_Enable : TIM_OCPreload_Disable);
|
||||||
|
TIM_SetCompare3(pwm_data->instance, 0);
|
||||||
return MR_EOK;
|
return MR_EOK;
|
||||||
}
|
}
|
||||||
case 4:
|
case 4:
|
||||||
@@ -217,6 +220,7 @@ static int drv_pwm_channel_configure(struct mr_pwm *pwm, int channel, int state,
|
|||||||
GPIO_Init(pwm_data->ch4_port, &GPIO_InitStructure);
|
GPIO_Init(pwm_data->ch4_port, &GPIO_InitStructure);
|
||||||
TIM_OC4Init(pwm_data->instance, &TIM_OCInitStructure);
|
TIM_OC4Init(pwm_data->instance, &TIM_OCInitStructure);
|
||||||
TIM_OC4PreloadConfig(pwm_data->instance, state ? TIM_OCPreload_Enable : TIM_OCPreload_Disable);
|
TIM_OC4PreloadConfig(pwm_data->instance, state ? TIM_OCPreload_Enable : TIM_OCPreload_Disable);
|
||||||
|
TIM_SetCompare4(pwm_data->instance, 0);
|
||||||
return MR_EOK;
|
return MR_EOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
19
bsp/wch/driver/mr_board.c
Normal file
19
bsp/wch/driver/mr_board.c
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
/*
|
||||||
|
* @copyright (c) 2023-2024, MR Development Team
|
||||||
|
*
|
||||||
|
* @license SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* @date 2024-01-16 MacRsh First version
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "mr_board.h"
|
||||||
|
|
||||||
|
void mr_delay_us(uint32_t us)
|
||||||
|
{
|
||||||
|
Delay_Us(us);
|
||||||
|
}
|
||||||
|
|
||||||
|
void mr_delay_ms(uint32_t ms)
|
||||||
|
{
|
||||||
|
Delay_Ms(ms);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user