Merge pull request #3054 from a1012112796/writing_zzc_add_bsp_robomaster_a
[bsp][stm32] 更新stm32f427-robomaster-a外设驱动配置
This commit is contained in:
commit
20d9ac459e
@ -21,6 +21,7 @@ STM32 系列 BSP 目前支持情况如下表所示:
|
||||
| [stm32f407-st-discovery](stm32f407-st-discovery) | ST 官方 STM32F407-discovery 开发板 |
|
||||
| [stm32f407-atk-explorer](stm32f407-atk-explorer) | 正点原子 F407 探索者开发板 |
|
||||
| [stm32f411-st-nucleo](stm32f411-st-nucleo/) | ST 官方 STM32F411-Nucleo-64 开发板 |
|
||||
| [stm32f427-robomaster-a](stm32f427-robomaster-a/) |大疆公司 RoboMaster A型开发板|
|
||||
| [stm32f429-atk-apollo](stm32f429-atk-apollo) | 正点原子 F429 阿波罗开发板 |
|
||||
| [stm32f429-fire-challenger](stm32f429-fire-challenger/) | 野火 F429 挑战者开发板 |
|
||||
| [stm32f429-armfly-v6](stm32f429-armfly-v6) | 安富莱 F429-v6 开发板 |
|
||||
|
@ -31,6 +31,12 @@ extern "C" {
|
||||
#define UART5_RX_DMA_INSTANCE DMA1_Stream0
|
||||
#define UART5_RX_DMA_CHANNEL DMA_CHANNEL_4
|
||||
#define UART5_RX_DMA_IRQ DMA1_Stream0_IRQn
|
||||
#elif defined(BSP_UART8_TX_USING_DMA) && !defined(UART8_TX_DMA_INSTANCE)
|
||||
#define UART8_DMA_TX_IRQHandler DMA1_Stream0_IRQHandler
|
||||
#define UART8_TX_DMA_RCC RCC_AHB1ENR_DMA1EN
|
||||
#define UART8_TX_DMA_INSTANCE DMA1_Stream0
|
||||
#define UART8_TX_DMA_CHANNEL DMA_CHANNEL_5
|
||||
#define UART8_TX_DMA_IRQ DMA1_Stream0_IRQn
|
||||
#endif
|
||||
|
||||
/* DMA1 stream1 */
|
||||
@ -40,6 +46,12 @@ extern "C" {
|
||||
#define UART3_RX_DMA_INSTANCE DMA1_Stream1
|
||||
#define UART3_RX_DMA_CHANNEL DMA_CHANNEL_4
|
||||
#define UART3_RX_DMA_IRQ DMA1_Stream1_IRQn
|
||||
#elif defined(BSP_UART7_RX_USING_DMA) && !defined(UART7_RX_DMA_INSTANCE)
|
||||
#define UART7_DMA_RX_IRQHandler DMA1_Stream1_IRQHandler
|
||||
#define UART7_RX_DMA_RCC RCC_AHB1ENR_DMA1EN
|
||||
#define UART7_RX_DMA_INSTANCE DMA1_Stream1
|
||||
#define UART7_RX_DMA_CHANNEL DMA_CHANNEL_5
|
||||
#define UART7_RX_DMA_IRQ DMA1_Stream1_IRQn
|
||||
#endif
|
||||
|
||||
/* DMA1 stream2 */
|
||||
@ -70,6 +82,12 @@ extern "C" {
|
||||
#define UART3_TX_DMA_INSTANCE DMA1_Stream3
|
||||
#define UART3_TX_DMA_CHANNEL DMA_CHANNEL_4
|
||||
#define UART3_TX_DMA_IRQ DMA1_Stream3_IRQn
|
||||
#elif defined(BSP_UART7_TX_USING_DMA) && !defined(UART7_TX_DMA_INSTANCE)
|
||||
#define UART7_DMA_RX_IRQHandler DMA1_Stream3_IRQHandler
|
||||
#define UART7_RX_DMA_RCC RCC_AHB1ENR_DMA1EN
|
||||
#define UART7_RX_DMA_INSTANCE DMA1_Stream3
|
||||
#define UART7_RX_DMA_CHANNEL DMA_CHANNEL_5
|
||||
#define UART7_RX_DMA_IRQ DMA1_Stream3_IRQn
|
||||
#endif
|
||||
|
||||
/* DMA1 stream4 */
|
||||
@ -109,6 +127,12 @@ extern "C" {
|
||||
#define UART2_TX_DMA_INSTANCE DMA1_Stream6
|
||||
#define UART2_TX_DMA_CHANNEL DMA_CHANNEL_4
|
||||
#define UART2_TX_DMA_IRQ DMA1_Stream6_IRQn
|
||||
#elif defined(BSP_UART8_RX_USING_DMA) && !defined(UART8_RX_DMA_INSTANCE)
|
||||
#define UART8_DMA_RX_IRQHandler DMA1_Stream6_IRQHandler
|
||||
#define UART8_RX_DMA_RCC RCC_AHB1ENR_DMA1EN
|
||||
#define UART8_RX_DMA_INSTANCE DMA1_Stream6
|
||||
#define UART8_RX_DMA_CHANNEL DMA_CHANNEL_5
|
||||
#define UART8_RX_DMA_IRQ DMA1_Stream6_IRQn
|
||||
#endif
|
||||
|
||||
/* DMA1 stream7 */
|
||||
|
@ -61,6 +61,17 @@ extern "C" {
|
||||
#endif /* PWM5_CONFIG */
|
||||
#endif /* BSP_USING_PWM5 */
|
||||
|
||||
#ifdef BSP_USING_PWM12
|
||||
#ifndef PWM12_CONFIG
|
||||
#define PWM12_CONFIG \
|
||||
{ \
|
||||
.tim_handle.Instance = TIM12, \
|
||||
.name = "pwm12", \
|
||||
.channel = 0 \
|
||||
}
|
||||
#endif /* PWM12_CONFIG */
|
||||
#endif /* BSP_USING_PWM12 */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@ -228,6 +228,76 @@ extern "C" {
|
||||
#endif /* BSP_UART6_TX_USING_DMA */
|
||||
#endif /* BSP_USING_UART6 */
|
||||
|
||||
#if defined(BSP_USING_UART7)
|
||||
#ifndef UART7_CONFIG
|
||||
#define UART7_CONFIG \
|
||||
{ \
|
||||
.name = "uart7", \
|
||||
.Instance = UART7, \
|
||||
.irq_type = UART7_IRQn, \
|
||||
}
|
||||
#endif /* UART7_CONFIG */
|
||||
|
||||
#if defined(BSP_UART7_RX_USING_DMA)
|
||||
#ifndef UART7_DMA_RX_CONFIG
|
||||
#define UART7_DMA_RX_CONFIG \
|
||||
{ \
|
||||
.Instance = UART7_RX_DMA_INSTANCE, \
|
||||
.channel = UART7_RX_DMA_CHANNEL, \
|
||||
.dma_rcc = UART7_RX_DMA_RCC, \
|
||||
.dma_irq = UART7_RX_DMA_IRQ, \
|
||||
}
|
||||
#endif /* UART7_DMA_RX_CONFIG */
|
||||
#endif /* BSP_UART7_RX_USING_DMA */
|
||||
|
||||
#if defined(BSP_UART7_TX_USING_DMA)
|
||||
#ifndef UART7_DMA_TX_CONFIG
|
||||
#define UART7_DMA_TX_CONFIG \
|
||||
{ \
|
||||
.Instance = UART7_TX_DMA_INSTANCE, \
|
||||
.channel = UART7_TX_DMA_CHANNEL, \
|
||||
.dma_rcc = UART7_TX_DMA_RCC, \
|
||||
.dma_irq = UART7_TX_DMA_IRQ, \
|
||||
}
|
||||
#endif /* UART7_DMA_TX_CONFIG */
|
||||
#endif /* BSP_UART7_TX_USING_DMA */
|
||||
#endif /* BSP_USING_UART7 */
|
||||
|
||||
#if defined(BSP_USING_UART8)
|
||||
#ifndef UART8_CONFIG
|
||||
#define UART8_CONFIG \
|
||||
{ \
|
||||
.name = "uart8", \
|
||||
.Instance = UART8, \
|
||||
.irq_type = UART8_IRQn, \
|
||||
}
|
||||
#endif /* UART8_CONFIG */
|
||||
|
||||
#if defined(BSP_UART8_RX_USING_DMA)
|
||||
#ifndef UART8_DMA_RX_CONFIG
|
||||
#define UART8_DMA_RX_CONFIG \
|
||||
{ \
|
||||
.Instance = UART8_RX_DMA_INSTANCE, \
|
||||
.channel = UART8_RX_DMA_CHANNEL, \
|
||||
.dma_rcc = UART8_RX_DMA_RCC, \
|
||||
.dma_irq = UART8_RX_DMA_IRQ, \
|
||||
}
|
||||
#endif /* UART8_DMA_RX_CONFIG */
|
||||
#endif /* BSP_UART8_RX_USING_DMA */
|
||||
|
||||
#if defined(BSP_UART8_TX_USING_DMA)
|
||||
#ifndef UART8_DMA_TX_CONFIG
|
||||
#define UART8_DMA_TX_CONFIG \
|
||||
{ \
|
||||
.Instance = UART8_TX_DMA_INSTANCE, \
|
||||
.channel = UART8_TX_DMA_CHANNEL, \
|
||||
.dma_rcc = UART8_TX_DMA_RCC, \
|
||||
.dma_irq = UART8_TX_DMA_IRQ, \
|
||||
}
|
||||
#endif /* UART8_DMA_TX_CONFIG */
|
||||
#endif /* BSP_UART8_TX_USING_DMA */
|
||||
#endif /* BSP_USING_UART8 */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@ -520,6 +520,12 @@ static void pwm_get_channel(void)
|
||||
#ifdef BSP_USING_PWM9_CH4
|
||||
stm32_pwm_obj[PWM9_INDEX].channel |= 1 << 3;
|
||||
#endif
|
||||
#ifdef BSP_USING_PWM12_CH1
|
||||
stm32_pwm_obj[PWM12_INDEX].channel |= 1 << 0;
|
||||
#endif
|
||||
#ifdef BSP_USING_PWM12_CH2
|
||||
stm32_pwm_obj[PWM12_INDEX].channel |= 1 << 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int stm32_pwm_init(void)
|
||||
|
@ -18,8 +18,9 @@
|
||||
#define LOG_TAG "drv.usart"
|
||||
#include <drv_log.h>
|
||||
|
||||
#if !defined(BSP_USING_UART1) && !defined(BSP_USING_UART2) && !defined(BSP_USING_UART3) \
|
||||
&& !defined(BSP_USING_UART4) && !defined(BSP_USING_UART5) && !defined(BSP_USING_UART6) && !defined(BSP_USING_LPUART1)
|
||||
#if !defined(BSP_USING_UART1) && !defined(BSP_USING_UART2) && !defined(BSP_USING_UART3) && \
|
||||
!defined(BSP_USING_UART4) && !defined(BSP_USING_UART5) && !defined(BSP_USING_UART6) && \
|
||||
!defined(BSP_USING_UART7) && !defined(BSP_USING_UART8) && !defined(BSP_USING_LPUART1)
|
||||
#error "Please define at least one BSP_USING_UARTx"
|
||||
/* this driver can be disabled at menuconfig → RT-Thread Components → Device Drivers */
|
||||
#endif
|
||||
@ -48,6 +49,12 @@ enum
|
||||
#ifdef BSP_USING_UART6
|
||||
UART6_INDEX,
|
||||
#endif
|
||||
#ifdef BSP_USING_UART7
|
||||
UART7_INDEX,
|
||||
#endif
|
||||
#ifdef BSP_USING_UART8
|
||||
UART8_INDEX,
|
||||
#endif
|
||||
#ifdef BSP_USING_LPUART1
|
||||
LPUART1_INDEX,
|
||||
#endif
|
||||
@ -73,6 +80,12 @@ static struct stm32_uart_config uart_config[] =
|
||||
#ifdef BSP_USING_UART6
|
||||
UART6_CONFIG,
|
||||
#endif
|
||||
#ifdef BSP_USING_UART7
|
||||
UART7_CONFIG,
|
||||
#endif
|
||||
#ifdef BSP_USING_UART8
|
||||
UART8_CONFIG,
|
||||
#endif
|
||||
#ifdef BSP_USING_LPUART1
|
||||
LPUART1_CONFIG,
|
||||
#endif
|
||||
@ -606,6 +619,80 @@ void UART6_DMA_TX_IRQHandler(void)
|
||||
#endif /* defined(RT_SERIAL_USING_DMA) && defined(BSP_UART6_TX_USING_DMA) */
|
||||
#endif /* BSP_USING_UART6*/
|
||||
|
||||
#if defined(BSP_USING_UART7)
|
||||
void UART7_IRQHandler(void)
|
||||
{
|
||||
/* enter interrupt */
|
||||
rt_interrupt_enter();
|
||||
|
||||
uart_isr(&(uart_obj[UART7_INDEX].serial));
|
||||
|
||||
/* leave interrupt */
|
||||
rt_interrupt_leave();
|
||||
}
|
||||
#if defined(RT_SERIAL_USING_DMA) && defined(BSP_UART7_RX_USING_DMA)
|
||||
void UART7_DMA_RX_IRQHandler(void)
|
||||
{
|
||||
/* enter interrupt */
|
||||
rt_interrupt_enter();
|
||||
|
||||
HAL_DMA_IRQHandler(&uart_obj[UART7_INDEX].dma_rx.handle);
|
||||
|
||||
/* leave interrupt */
|
||||
rt_interrupt_leave();
|
||||
}
|
||||
#endif /* defined(RT_SERIAL_USING_DMA) && defined(BSP_UART7_RX_USING_DMA) */
|
||||
#if defined(RT_SERIAL_USING_DMA) && defined(BSP_UART7_TX_USING_DMA)
|
||||
void UART7_DMA_TX_IRQHandler(void)
|
||||
{
|
||||
/* enter interrupt */
|
||||
rt_interrupt_enter();
|
||||
|
||||
HAL_DMA_IRQHandler(&uart_obj[UART7_INDEX].dma_tx.handle);
|
||||
|
||||
/* leave interrupt */
|
||||
rt_interrupt_leave();
|
||||
}
|
||||
#endif /* defined(RT_SERIAL_USING_DMA) && defined(BSP_UART7_TX_USING_DMA) */
|
||||
#endif /* BSP_USING_UART7*/
|
||||
|
||||
#if defined(BSP_USING_UART8)
|
||||
void UART8_IRQHandler(void)
|
||||
{
|
||||
/* enter interrupt */
|
||||
rt_interrupt_enter();
|
||||
|
||||
uart_isr(&(uart_obj[UART8_INDEX].serial));
|
||||
|
||||
/* leave interrupt */
|
||||
rt_interrupt_leave();
|
||||
}
|
||||
#if defined(RT_SERIAL_USING_DMA) && defined(BSP_UART8_RX_USING_DMA)
|
||||
void UART8_DMA_RX_IRQHandler(void)
|
||||
{
|
||||
/* enter interrupt */
|
||||
rt_interrupt_enter();
|
||||
|
||||
HAL_DMA_IRQHandler(&uart_obj[UART8_INDEX].dma_rx.handle);
|
||||
|
||||
/* leave interrupt */
|
||||
rt_interrupt_leave();
|
||||
}
|
||||
#endif /* defined(RT_SERIAL_USING_DMA) && defined(BSP_UART8_RX_USING_DMA) */
|
||||
#if defined(RT_SERIAL_USING_DMA) && defined(BSP_UART8_TX_USING_DMA)
|
||||
void UART8_DMA_TX_IRQHandler(void)
|
||||
{
|
||||
/* enter interrupt */
|
||||
rt_interrupt_enter();
|
||||
|
||||
HAL_DMA_IRQHandler(&uart_obj[UART8_INDEX].dma_tx.handle);
|
||||
|
||||
/* leave interrupt */
|
||||
rt_interrupt_leave();
|
||||
}
|
||||
#endif /* defined(RT_SERIAL_USING_DMA) && defined(BSP_UART8_TX_USING_DMA) */
|
||||
#endif /* BSP_USING_UART8*/
|
||||
|
||||
#if defined(BSP_USING_LPUART1)
|
||||
void LPUART1_IRQHandler(void)
|
||||
{
|
||||
|
@ -123,7 +123,7 @@ CONFIG_RT_SERIAL_RB_BUFSZ=64
|
||||
# CONFIG_RT_USING_I2C is not set
|
||||
CONFIG_RT_USING_PIN=y
|
||||
# CONFIG_RT_USING_ADC is not set
|
||||
# CONFIG_RT_USING_PWM is not set
|
||||
CONFIG_RT_USING_PWM=y
|
||||
# CONFIG_RT_USING_MTD_NOR is not set
|
||||
# CONFIG_RT_USING_MTD_NAND is not set
|
||||
# CONFIG_RT_USING_PM is not set
|
||||
@ -136,7 +136,7 @@ CONFIG_RT_USING_SENSOR=y
|
||||
CONFIG_RT_USING_SENSOR_CMD=y
|
||||
# CONFIG_RT_USING_TOUCH is not set
|
||||
# CONFIG_RT_USING_HWCRYPTO is not set
|
||||
# CONFIG_RT_USING_ENCODER is not set
|
||||
# CONFIG_RT_USING_PULSE_ENCODER is not set
|
||||
# CONFIG_RT_USING_INPUT_CAPTURE is not set
|
||||
# CONFIG_RT_USING_WIFI is not set
|
||||
|
||||
@ -413,6 +413,18 @@ CONFIG_BSP_USING_UART6=y
|
||||
# CONFIG_BSP_UART6_RX_USING_DMA is not set
|
||||
CONFIG_BSP_USING_UART3=y
|
||||
# CONFIG_BSP_UART3_RX_USING_DMA is not set
|
||||
# CONFIG_BSP_USING_UART7 is not set
|
||||
# CONFIG_BSP_USING_UART8 is not set
|
||||
# CONFIG_BSP_USING_UART1 is not set
|
||||
CONFIG_BSP_USING_PWM=y
|
||||
CONFIG_BSP_USING_PWM12=y
|
||||
CONFIG_BSP_USING_PWM12_CH1=y
|
||||
CONFIG_BSP_USING_PWM4=y
|
||||
CONFIG_BSP_USING_PWM4_CH1=y
|
||||
CONFIG_BSP_USING_PWM4_CH2=y
|
||||
# CONFIG_BSP_USING_PWM4_CH3 is not set
|
||||
# CONFIG_BSP_USING_PWM4_CH4 is not set
|
||||
# CONFIG_BSP_USING_PWM5 is not set
|
||||
# CONFIG_BSP_USING_RNG is not set
|
||||
# CONFIG_BSP_USING_UDID is not set
|
||||
|
||||
|
@ -38,14 +38,14 @@ RoboMaster开发板套件是一款面向机器人DIY的开源主控套件。开
|
||||
| **板载外设** | **支持情况** | **备注** |
|
||||
| :----------------- | :----------: | :------------------------------------- |
|
||||
| SD卡 | 暂不支持 | |
|
||||
| CAN | 支持 | |
|
||||
| CAN | 暂不支持 | |
|
||||
| **片上外设** | **支持情况** | **备注** |
|
||||
| GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...176 |
|
||||
| UART | 支持 | UART3/6 |
|
||||
| SPI | 暂不支持 | SPI5/ |
|
||||
| UART | 支持 | UART1/3/6/7/8 |
|
||||
| SPI | 暂不支持 | SPI5 |
|
||||
| I2C | 暂不支持 | |
|
||||
| SDIO | 暂不支持 | 即将支持 |
|
||||
| RTC | 暂不支持 | 即将支持 |
|
||||
| RTC | 不支持 | |
|
||||
| PWM | 暂不支持 | 即将支持 |
|
||||
| **扩展模块** | **支持情况** | **备注** |
|
||||
| 无 |... | ...
|
||||
|
@ -8,37 +8,64 @@ KeepUserPlacement=true
|
||||
Mcu.Family=STM32F4
|
||||
Mcu.IP0=CAN1
|
||||
Mcu.IP1=CAN2
|
||||
Mcu.IP10=UART8
|
||||
Mcu.IP11=USART1
|
||||
Mcu.IP12=USART3
|
||||
Mcu.IP13=USART6
|
||||
Mcu.IP2=NVIC
|
||||
Mcu.IP3=RCC
|
||||
Mcu.IP4=SPI5
|
||||
Mcu.IP5=SYS
|
||||
Mcu.IP6=USART6
|
||||
Mcu.IPNb=7
|
||||
Mcu.IP6=TIM4
|
||||
Mcu.IP7=TIM5
|
||||
Mcu.IP8=TIM12
|
||||
Mcu.IP9=UART7
|
||||
Mcu.IPNb=14
|
||||
Mcu.Name=STM32F427I(G-I)Hx
|
||||
Mcu.Package=UFBGA176
|
||||
Mcu.Pin0=PG14
|
||||
Mcu.Pin1=PA14
|
||||
Mcu.Pin10=PF9
|
||||
Mcu.Pin11=PF8
|
||||
Mcu.Pin12=PE11
|
||||
Mcu.Pin13=PB12
|
||||
Mcu.Pin14=PB13
|
||||
Mcu.Pin15=PF14
|
||||
Mcu.Pin16=VP_SYS_VS_Systick
|
||||
Mcu.Pin2=PA13
|
||||
Mcu.Pin3=PD0
|
||||
Mcu.Pin4=PG9
|
||||
Mcu.Pin5=PD1
|
||||
Mcu.Pin6=PH0/OSC_IN
|
||||
Mcu.Pin7=PH1/OSC_OUT
|
||||
Mcu.Pin8=PF7
|
||||
Mcu.Pin9=PF6
|
||||
Mcu.PinsNb=17
|
||||
Mcu.Pin0=PE1
|
||||
Mcu.Pin1=PE0
|
||||
Mcu.Pin10=PI0
|
||||
Mcu.Pin11=PH0/OSC_IN
|
||||
Mcu.Pin12=PH1/OSC_OUT
|
||||
Mcu.Pin13=PF7
|
||||
Mcu.Pin14=PF6
|
||||
Mcu.Pin15=PH12
|
||||
Mcu.Pin16=PF9
|
||||
Mcu.Pin17=PF8
|
||||
Mcu.Pin18=PH11
|
||||
Mcu.Pin19=PH10
|
||||
Mcu.Pin2=PG14
|
||||
Mcu.Pin20=PD15
|
||||
Mcu.Pin21=PH6
|
||||
Mcu.Pin22=PD14
|
||||
Mcu.Pin23=PD13
|
||||
Mcu.Pin24=PD12
|
||||
Mcu.Pin25=PE8
|
||||
Mcu.Pin26=PE11
|
||||
Mcu.Pin27=PB12
|
||||
Mcu.Pin28=PB13
|
||||
Mcu.Pin29=PD9
|
||||
Mcu.Pin3=PA14
|
||||
Mcu.Pin30=PD8
|
||||
Mcu.Pin31=PF14
|
||||
Mcu.Pin32=PE7
|
||||
Mcu.Pin33=VP_SYS_VS_Systick
|
||||
Mcu.Pin34=VP_TIM4_VS_ClockSourceINT
|
||||
Mcu.Pin35=VP_TIM5_VS_ClockSourceINT
|
||||
Mcu.Pin36=VP_TIM12_VS_ClockSourceINT
|
||||
Mcu.Pin4=PA13
|
||||
Mcu.Pin5=PB7
|
||||
Mcu.Pin6=PB6
|
||||
Mcu.Pin7=PD0
|
||||
Mcu.Pin8=PG9
|
||||
Mcu.Pin9=PD1
|
||||
Mcu.PinsNb=37
|
||||
Mcu.ThirdPartyNb=0
|
||||
Mcu.UserConstants=
|
||||
Mcu.UserName=STM32F427IIHx
|
||||
MxCube.Version=5.2.1
|
||||
MxDb.Version=DB.5.0.21
|
||||
MxCube.Version=5.3.0
|
||||
MxDb.Version=DB.5.0.30
|
||||
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
|
||||
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
|
||||
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
|
||||
@ -60,6 +87,11 @@ PB12.Signal=CAN2_RX
|
||||
PB13.Locked=true
|
||||
PB13.Mode=Slave
|
||||
PB13.Signal=CAN2_TX
|
||||
PB6.Mode=Asynchronous
|
||||
PB6.Signal=USART1_TX
|
||||
PB7.Locked=true
|
||||
PB7.Mode=Asynchronous
|
||||
PB7.Signal=USART1_RX
|
||||
PCC.Checker=false
|
||||
PCC.Line=STM32F427/437
|
||||
PCC.MCU=STM32F427I(G-I)Hx
|
||||
@ -73,10 +105,36 @@ PD0.Mode=Master
|
||||
PD0.Signal=CAN1_RX
|
||||
PD1.Mode=Master
|
||||
PD1.Signal=CAN1_TX
|
||||
PD12.Locked=true
|
||||
PD12.Signal=S_TIM4_CH1
|
||||
PD13.Locked=true
|
||||
PD13.Signal=S_TIM4_CH2
|
||||
PD14.Locked=true
|
||||
PD14.Signal=S_TIM4_CH3
|
||||
PD15.Locked=true
|
||||
PD15.Signal=S_TIM4_CH4
|
||||
PD8.Locked=true
|
||||
PD8.Mode=Asynchronous
|
||||
PD8.Signal=USART3_TX
|
||||
PD9.Locked=true
|
||||
PD9.Mode=Asynchronous
|
||||
PD9.Signal=USART3_RX
|
||||
PE0.Locked=true
|
||||
PE0.Mode=Asynchronous
|
||||
PE0.Signal=UART8_RX
|
||||
PE1.Locked=true
|
||||
PE1.Mode=Asynchronous
|
||||
PE1.Signal=UART8_TX
|
||||
PE11.GPIOParameters=GPIO_Label
|
||||
PE11.GPIO_Label=LED_RED
|
||||
PE11.Locked=true
|
||||
PE11.Signal=GPIO_Output
|
||||
PE7.Locked=true
|
||||
PE7.Mode=Asynchronous
|
||||
PE7.Signal=UART7_RX
|
||||
PE8.Locked=true
|
||||
PE8.Mode=Asynchronous
|
||||
PE8.Signal=UART7_TX
|
||||
PF14.GPIOParameters=GPIO_Label
|
||||
PF14.GPIO_Label=LED_GREEN
|
||||
PF14.Locked=true
|
||||
@ -97,6 +155,15 @@ PH0/OSC_IN.Mode=HSE-External-Oscillator
|
||||
PH0/OSC_IN.Signal=RCC_OSC_IN
|
||||
PH1/OSC_OUT.Mode=HSE-External-Oscillator
|
||||
PH1/OSC_OUT.Signal=RCC_OSC_OUT
|
||||
PH10.Locked=true
|
||||
PH10.Signal=S_TIM5_CH1
|
||||
PH11.Locked=true
|
||||
PH11.Signal=S_TIM5_CH2
|
||||
PH12.Locked=true
|
||||
PH12.Signal=S_TIM5_CH3
|
||||
PH6.Signal=S_TIM12_CH1
|
||||
PI0.Locked=true
|
||||
PI0.Signal=S_TIM5_CH4
|
||||
PinOutPanel.CurrentBGAView=Top
|
||||
PinOutPanel.RotationAngle=0
|
||||
ProjectManager.AskForMigrate=true
|
||||
@ -164,14 +231,58 @@ RCC.VCOSAIOutputFreq_Value=98000000
|
||||
RCC.VCOSAIOutputFreq_ValueQ=24500000
|
||||
RCC.VcooutputI2S=192000000
|
||||
RCC.VcooutputI2SQ=192000000
|
||||
SH.S_TIM12_CH1.0=TIM12_CH1,PWM Generation1 CH1
|
||||
SH.S_TIM12_CH1.ConfNb=1
|
||||
SH.S_TIM4_CH1.0=TIM4_CH1,PWM Generation1 CH1
|
||||
SH.S_TIM4_CH1.ConfNb=1
|
||||
SH.S_TIM4_CH2.0=TIM4_CH2,PWM Generation2 CH2
|
||||
SH.S_TIM4_CH2.ConfNb=1
|
||||
SH.S_TIM4_CH3.0=TIM4_CH3,PWM Generation3 CH3
|
||||
SH.S_TIM4_CH3.ConfNb=1
|
||||
SH.S_TIM4_CH4.0=TIM4_CH4,PWM Generation4 CH4
|
||||
SH.S_TIM4_CH4.ConfNb=1
|
||||
SH.S_TIM5_CH1.0=TIM5_CH1,PWM Generation1 CH1
|
||||
SH.S_TIM5_CH1.ConfNb=1
|
||||
SH.S_TIM5_CH2.0=TIM5_CH2,PWM Generation2 CH2
|
||||
SH.S_TIM5_CH2.ConfNb=1
|
||||
SH.S_TIM5_CH3.0=TIM5_CH3,PWM Generation3 CH3
|
||||
SH.S_TIM5_CH3.ConfNb=1
|
||||
SH.S_TIM5_CH4.0=TIM5_CH4,PWM Generation4 CH4
|
||||
SH.S_TIM5_CH4.ConfNb=1
|
||||
SPI5.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_128
|
||||
SPI5.CalculateBaudRate=656.25 KBits/s
|
||||
SPI5.Direction=SPI_DIRECTION_2LINES
|
||||
SPI5.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,BaudRatePrescaler
|
||||
SPI5.Mode=SPI_MODE_MASTER
|
||||
SPI5.VirtualType=VM_MASTER
|
||||
TIM12.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1
|
||||
TIM12.IPParameters=Channel-PWM Generation1 CH1
|
||||
TIM4.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1
|
||||
TIM4.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2
|
||||
TIM4.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3
|
||||
TIM4.Channel-PWM\ Generation4\ CH4=TIM_CHANNEL_4
|
||||
TIM4.IPParameters=Channel-PWM Generation1 CH1,Channel-PWM Generation2 CH2,Channel-PWM Generation3 CH3,Channel-PWM Generation4 CH4
|
||||
TIM5.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1
|
||||
TIM5.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2
|
||||
TIM5.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3
|
||||
TIM5.Channel-PWM\ Generation4\ CH4=TIM_CHANNEL_4
|
||||
TIM5.IPParameters=Channel-PWM Generation1 CH1,Channel-PWM Generation2 CH2,Channel-PWM Generation3 CH3,Channel-PWM Generation4 CH4
|
||||
UART7.IPParameters=VirtualMode
|
||||
UART7.VirtualMode=Asynchronous
|
||||
UART8.IPParameters=VirtualMode
|
||||
UART8.VirtualMode=Asynchronous
|
||||
USART1.IPParameters=VirtualMode
|
||||
USART1.VirtualMode=VM_ASYNC
|
||||
USART3.IPParameters=VirtualMode
|
||||
USART3.VirtualMode=VM_ASYNC
|
||||
USART6.IPParameters=VirtualMode
|
||||
USART6.VirtualMode=VM_ASYNC
|
||||
VP_SYS_VS_Systick.Mode=SysTick
|
||||
VP_SYS_VS_Systick.Signal=SYS_VS_Systick
|
||||
VP_TIM12_VS_ClockSourceINT.Mode=Internal
|
||||
VP_TIM12_VS_ClockSourceINT.Signal=TIM12_VS_ClockSourceINT
|
||||
VP_TIM4_VS_ClockSourceINT.Mode=Internal
|
||||
VP_TIM4_VS_ClockSourceINT.Signal=TIM4_VS_ClockSourceINT
|
||||
VP_TIM5_VS_ClockSourceINT.Mode=Internal
|
||||
VP_TIM5_VS_ClockSourceINT.Signal=TIM5_VS_ClockSourceINT
|
||||
board=Imu
|
||||
|
@ -70,6 +70,8 @@ extern "C" {
|
||||
|
||||
/* USER CODE END EM */
|
||||
|
||||
void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
|
||||
|
||||
/* Exported functions prototypes ---------------------------------------------*/
|
||||
void Error_Handler(void);
|
||||
|
||||
|
@ -61,7 +61,7 @@
|
||||
/* #define HAL_SD_MODULE_ENABLED */
|
||||
/* #define HAL_MMC_MODULE_ENABLED */
|
||||
#define HAL_SPI_MODULE_ENABLED
|
||||
/* #define HAL_TIM_MODULE_ENABLED */
|
||||
#define HAL_TIM_MODULE_ENABLED
|
||||
#define HAL_UART_MODULE_ENABLED
|
||||
/* #define HAL_USART_MODULE_ENABLED */
|
||||
/* #define HAL_IRDA_MODULE_ENABLED */
|
||||
|
@ -67,6 +67,14 @@ CAN_HandleTypeDef hcan2;
|
||||
|
||||
SPI_HandleTypeDef hspi5;
|
||||
|
||||
TIM_HandleTypeDef htim4;
|
||||
TIM_HandleTypeDef htim5;
|
||||
TIM_HandleTypeDef htim12;
|
||||
|
||||
UART_HandleTypeDef huart7;
|
||||
UART_HandleTypeDef huart8;
|
||||
UART_HandleTypeDef huart1;
|
||||
UART_HandleTypeDef huart3;
|
||||
UART_HandleTypeDef huart6;
|
||||
|
||||
/* USER CODE BEGIN PV */
|
||||
@ -80,6 +88,13 @@ static void MX_SPI5_Init(void);
|
||||
static void MX_USART6_UART_Init(void);
|
||||
static void MX_CAN1_Init(void);
|
||||
static void MX_CAN2_Init(void);
|
||||
static void MX_TIM4_Init(void);
|
||||
static void MX_TIM5_Init(void);
|
||||
static void MX_TIM12_Init(void);
|
||||
static void MX_UART7_Init(void);
|
||||
static void MX_UART8_Init(void);
|
||||
static void MX_USART1_UART_Init(void);
|
||||
static void MX_USART3_UART_Init(void);
|
||||
/* USER CODE BEGIN PFP */
|
||||
|
||||
/* USER CODE END PFP */
|
||||
@ -122,6 +137,13 @@ int main(void)
|
||||
MX_USART6_UART_Init();
|
||||
MX_CAN1_Init();
|
||||
MX_CAN2_Init();
|
||||
MX_TIM4_Init();
|
||||
MX_TIM5_Init();
|
||||
MX_TIM12_Init();
|
||||
MX_UART7_Init();
|
||||
MX_UART8_Init();
|
||||
MX_USART1_UART_Init();
|
||||
MX_USART3_UART_Init();
|
||||
/* USER CODE BEGIN 2 */
|
||||
|
||||
/* USER CODE END 2 */
|
||||
@ -291,6 +313,332 @@ static void MX_SPI5_Init(void)
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief TIM4 Initialization Function
|
||||
* @param None
|
||||
* @retval None
|
||||
*/
|
||||
static void MX_TIM4_Init(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN TIM4_Init 0 */
|
||||
|
||||
/* USER CODE END TIM4_Init 0 */
|
||||
|
||||
TIM_ClockConfigTypeDef sClockSourceConfig = {0};
|
||||
TIM_MasterConfigTypeDef sMasterConfig = {0};
|
||||
TIM_OC_InitTypeDef sConfigOC = {0};
|
||||
|
||||
/* USER CODE BEGIN TIM4_Init 1 */
|
||||
|
||||
/* USER CODE END TIM4_Init 1 */
|
||||
htim4.Instance = TIM4;
|
||||
htim4.Init.Prescaler = 0;
|
||||
htim4.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||||
htim4.Init.Period = 0;
|
||||
htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
||||
htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
|
||||
if (HAL_TIM_Base_Init(&htim4) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
|
||||
if (HAL_TIM_ConfigClockSource(&htim4, &sClockSourceConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
if (HAL_TIM_PWM_Init(&htim4) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
|
||||
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
|
||||
if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sConfigOC.OCMode = TIM_OCMODE_PWM1;
|
||||
sConfigOC.Pulse = 0;
|
||||
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
|
||||
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
|
||||
if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_4) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN TIM4_Init 2 */
|
||||
|
||||
/* USER CODE END TIM4_Init 2 */
|
||||
HAL_TIM_MspPostInit(&htim4);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief TIM5 Initialization Function
|
||||
* @param None
|
||||
* @retval None
|
||||
*/
|
||||
static void MX_TIM5_Init(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN TIM5_Init 0 */
|
||||
|
||||
/* USER CODE END TIM5_Init 0 */
|
||||
|
||||
TIM_ClockConfigTypeDef sClockSourceConfig = {0};
|
||||
TIM_MasterConfigTypeDef sMasterConfig = {0};
|
||||
TIM_OC_InitTypeDef sConfigOC = {0};
|
||||
|
||||
/* USER CODE BEGIN TIM5_Init 1 */
|
||||
|
||||
/* USER CODE END TIM5_Init 1 */
|
||||
htim5.Instance = TIM5;
|
||||
htim5.Init.Prescaler = 0;
|
||||
htim5.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||||
htim5.Init.Period = 0;
|
||||
htim5.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
||||
htim5.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
|
||||
if (HAL_TIM_Base_Init(&htim5) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
|
||||
if (HAL_TIM_ConfigClockSource(&htim5, &sClockSourceConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
if (HAL_TIM_PWM_Init(&htim5) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
|
||||
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
|
||||
if (HAL_TIMEx_MasterConfigSynchronization(&htim5, &sMasterConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sConfigOC.OCMode = TIM_OCMODE_PWM1;
|
||||
sConfigOC.Pulse = 0;
|
||||
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
|
||||
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
|
||||
if (HAL_TIM_PWM_ConfigChannel(&htim5, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
if (HAL_TIM_PWM_ConfigChannel(&htim5, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
if (HAL_TIM_PWM_ConfigChannel(&htim5, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
if (HAL_TIM_PWM_ConfigChannel(&htim5, &sConfigOC, TIM_CHANNEL_4) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN TIM5_Init 2 */
|
||||
|
||||
/* USER CODE END TIM5_Init 2 */
|
||||
HAL_TIM_MspPostInit(&htim5);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief TIM12 Initialization Function
|
||||
* @param None
|
||||
* @retval None
|
||||
*/
|
||||
static void MX_TIM12_Init(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN TIM12_Init 0 */
|
||||
|
||||
/* USER CODE END TIM12_Init 0 */
|
||||
|
||||
TIM_ClockConfigTypeDef sClockSourceConfig = {0};
|
||||
TIM_OC_InitTypeDef sConfigOC = {0};
|
||||
|
||||
/* USER CODE BEGIN TIM12_Init 1 */
|
||||
|
||||
/* USER CODE END TIM12_Init 1 */
|
||||
htim12.Instance = TIM12;
|
||||
htim12.Init.Prescaler = 0;
|
||||
htim12.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||||
htim12.Init.Period = 0;
|
||||
htim12.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
||||
htim12.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
|
||||
if (HAL_TIM_Base_Init(&htim12) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
|
||||
if (HAL_TIM_ConfigClockSource(&htim12, &sClockSourceConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
if (HAL_TIM_PWM_Init(&htim12) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sConfigOC.OCMode = TIM_OCMODE_PWM1;
|
||||
sConfigOC.Pulse = 0;
|
||||
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
|
||||
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
|
||||
if (HAL_TIM_PWM_ConfigChannel(&htim12, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN TIM12_Init 2 */
|
||||
|
||||
/* USER CODE END TIM12_Init 2 */
|
||||
HAL_TIM_MspPostInit(&htim12);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief UART7 Initialization Function
|
||||
* @param None
|
||||
* @retval None
|
||||
*/
|
||||
static void MX_UART7_Init(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN UART7_Init 0 */
|
||||
|
||||
/* USER CODE END UART7_Init 0 */
|
||||
|
||||
/* USER CODE BEGIN UART7_Init 1 */
|
||||
|
||||
/* USER CODE END UART7_Init 1 */
|
||||
huart7.Instance = UART7;
|
||||
huart7.Init.BaudRate = 115200;
|
||||
huart7.Init.WordLength = UART_WORDLENGTH_8B;
|
||||
huart7.Init.StopBits = UART_STOPBITS_1;
|
||||
huart7.Init.Parity = UART_PARITY_NONE;
|
||||
huart7.Init.Mode = UART_MODE_TX_RX;
|
||||
huart7.Init.HwFlowCtl = UART_HWCONTROL_NONE;
|
||||
huart7.Init.OverSampling = UART_OVERSAMPLING_16;
|
||||
if (HAL_UART_Init(&huart7) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN UART7_Init 2 */
|
||||
|
||||
/* USER CODE END UART7_Init 2 */
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief UART8 Initialization Function
|
||||
* @param None
|
||||
* @retval None
|
||||
*/
|
||||
static void MX_UART8_Init(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN UART8_Init 0 */
|
||||
|
||||
/* USER CODE END UART8_Init 0 */
|
||||
|
||||
/* USER CODE BEGIN UART8_Init 1 */
|
||||
|
||||
/* USER CODE END UART8_Init 1 */
|
||||
huart8.Instance = UART8;
|
||||
huart8.Init.BaudRate = 115200;
|
||||
huart8.Init.WordLength = UART_WORDLENGTH_8B;
|
||||
huart8.Init.StopBits = UART_STOPBITS_1;
|
||||
huart8.Init.Parity = UART_PARITY_NONE;
|
||||
huart8.Init.Mode = UART_MODE_TX_RX;
|
||||
huart8.Init.HwFlowCtl = UART_HWCONTROL_NONE;
|
||||
huart8.Init.OverSampling = UART_OVERSAMPLING_16;
|
||||
if (HAL_UART_Init(&huart8) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN UART8_Init 2 */
|
||||
|
||||
/* USER CODE END UART8_Init 2 */
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief USART1 Initialization Function
|
||||
* @param None
|
||||
* @retval None
|
||||
*/
|
||||
static void MX_USART1_UART_Init(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN USART1_Init 0 */
|
||||
|
||||
/* USER CODE END USART1_Init 0 */
|
||||
|
||||
/* USER CODE BEGIN USART1_Init 1 */
|
||||
|
||||
/* USER CODE END USART1_Init 1 */
|
||||
huart1.Instance = USART1;
|
||||
huart1.Init.BaudRate = 115200;
|
||||
huart1.Init.WordLength = UART_WORDLENGTH_8B;
|
||||
huart1.Init.StopBits = UART_STOPBITS_1;
|
||||
huart1.Init.Parity = UART_PARITY_NONE;
|
||||
huart1.Init.Mode = UART_MODE_TX_RX;
|
||||
huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
|
||||
huart1.Init.OverSampling = UART_OVERSAMPLING_16;
|
||||
if (HAL_UART_Init(&huart1) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN USART1_Init 2 */
|
||||
|
||||
/* USER CODE END USART1_Init 2 */
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief USART3 Initialization Function
|
||||
* @param None
|
||||
* @retval None
|
||||
*/
|
||||
static void MX_USART3_UART_Init(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN USART3_Init 0 */
|
||||
|
||||
/* USER CODE END USART3_Init 0 */
|
||||
|
||||
/* USER CODE BEGIN USART3_Init 1 */
|
||||
|
||||
/* USER CODE END USART3_Init 1 */
|
||||
huart3.Instance = USART3;
|
||||
huart3.Init.BaudRate = 115200;
|
||||
huart3.Init.WordLength = UART_WORDLENGTH_8B;
|
||||
huart3.Init.StopBits = UART_STOPBITS_1;
|
||||
huart3.Init.Parity = UART_PARITY_NONE;
|
||||
huart3.Init.Mode = UART_MODE_TX_RX;
|
||||
huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE;
|
||||
huart3.Init.OverSampling = UART_OVERSAMPLING_16;
|
||||
if (HAL_UART_Init(&huart3) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN USART3_Init 2 */
|
||||
|
||||
/* USER CODE END USART3_Init 2 */
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief USART6 Initialization Function
|
||||
* @param None
|
||||
@ -334,13 +682,14 @@ static void MX_GPIO_Init(void)
|
||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||
|
||||
/* GPIO Ports Clock Enable */
|
||||
__HAL_RCC_GPIOE_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOG_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOD_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOI_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOH_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOF_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOE_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(GPIOF, GPIO_PIN_6|LED_GREEN_Pin, GPIO_PIN_RESET);
|
||||
|
@ -78,7 +78,9 @@
|
||||
/* USER CODE BEGIN 0 */
|
||||
|
||||
/* USER CODE END 0 */
|
||||
/**
|
||||
|
||||
void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
|
||||
/**
|
||||
* Initializes the Global MSP.
|
||||
*/
|
||||
void HAL_MspInit(void)
|
||||
@ -287,6 +289,175 @@ void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief TIM_Base MSP Initialization
|
||||
* This function configures the hardware resources used in this example
|
||||
* @param htim_base: TIM_Base handle pointer
|
||||
* @retval None
|
||||
*/
|
||||
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
|
||||
{
|
||||
if(htim_base->Instance==TIM4)
|
||||
{
|
||||
/* USER CODE BEGIN TIM4_MspInit 0 */
|
||||
|
||||
/* USER CODE END TIM4_MspInit 0 */
|
||||
/* Peripheral clock enable */
|
||||
__HAL_RCC_TIM4_CLK_ENABLE();
|
||||
/* USER CODE BEGIN TIM4_MspInit 1 */
|
||||
|
||||
/* USER CODE END TIM4_MspInit 1 */
|
||||
}
|
||||
else if(htim_base->Instance==TIM5)
|
||||
{
|
||||
/* USER CODE BEGIN TIM5_MspInit 0 */
|
||||
|
||||
/* USER CODE END TIM5_MspInit 0 */
|
||||
/* Peripheral clock enable */
|
||||
__HAL_RCC_TIM5_CLK_ENABLE();
|
||||
/* USER CODE BEGIN TIM5_MspInit 1 */
|
||||
|
||||
/* USER CODE END TIM5_MspInit 1 */
|
||||
}
|
||||
else if(htim_base->Instance==TIM12)
|
||||
{
|
||||
/* USER CODE BEGIN TIM12_MspInit 0 */
|
||||
|
||||
/* USER CODE END TIM12_MspInit 0 */
|
||||
/* Peripheral clock enable */
|
||||
__HAL_RCC_TIM12_CLK_ENABLE();
|
||||
/* USER CODE BEGIN TIM12_MspInit 1 */
|
||||
|
||||
/* USER CODE END TIM12_MspInit 1 */
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
|
||||
{
|
||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||
if(htim->Instance==TIM4)
|
||||
{
|
||||
/* USER CODE BEGIN TIM4_MspPostInit 0 */
|
||||
|
||||
/* USER CODE END TIM4_MspPostInit 0 */
|
||||
__HAL_RCC_GPIOD_CLK_ENABLE();
|
||||
/**TIM4 GPIO Configuration
|
||||
PD15 ------> TIM4_CH4
|
||||
PD14 ------> TIM4_CH3
|
||||
PD13 ------> TIM4_CH2
|
||||
PD12 ------> TIM4_CH1
|
||||
*/
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_15|GPIO_PIN_14|GPIO_PIN_13|GPIO_PIN_12;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF2_TIM4;
|
||||
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
|
||||
|
||||
/* USER CODE BEGIN TIM4_MspPostInit 1 */
|
||||
|
||||
/* USER CODE END TIM4_MspPostInit 1 */
|
||||
}
|
||||
else if(htim->Instance==TIM5)
|
||||
{
|
||||
/* USER CODE BEGIN TIM5_MspPostInit 0 */
|
||||
|
||||
/* USER CODE END TIM5_MspPostInit 0 */
|
||||
|
||||
__HAL_RCC_GPIOI_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOH_CLK_ENABLE();
|
||||
/**TIM5 GPIO Configuration
|
||||
PI0 ------> TIM5_CH4
|
||||
PH12 ------> TIM5_CH3
|
||||
PH11 ------> TIM5_CH2
|
||||
PH10 ------> TIM5_CH1
|
||||
*/
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_0;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF2_TIM5;
|
||||
HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
|
||||
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_11|GPIO_PIN_10;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF2_TIM5;
|
||||
HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
|
||||
|
||||
/* USER CODE BEGIN TIM5_MspPostInit 1 */
|
||||
|
||||
/* USER CODE END TIM5_MspPostInit 1 */
|
||||
}
|
||||
else if(htim->Instance==TIM12)
|
||||
{
|
||||
/* USER CODE BEGIN TIM12_MspPostInit 0 */
|
||||
|
||||
/* USER CODE END TIM12_MspPostInit 0 */
|
||||
|
||||
__HAL_RCC_GPIOH_CLK_ENABLE();
|
||||
/**TIM12 GPIO Configuration
|
||||
PH6 ------> TIM12_CH1
|
||||
*/
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_6;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF9_TIM12;
|
||||
HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
|
||||
|
||||
/* USER CODE BEGIN TIM12_MspPostInit 1 */
|
||||
|
||||
/* USER CODE END TIM12_MspPostInit 1 */
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* @brief TIM_Base MSP De-Initialization
|
||||
* This function freeze the hardware resources used in this example
|
||||
* @param htim_base: TIM_Base handle pointer
|
||||
* @retval None
|
||||
*/
|
||||
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
|
||||
{
|
||||
if(htim_base->Instance==TIM4)
|
||||
{
|
||||
/* USER CODE BEGIN TIM4_MspDeInit 0 */
|
||||
|
||||
/* USER CODE END TIM4_MspDeInit 0 */
|
||||
/* Peripheral clock disable */
|
||||
__HAL_RCC_TIM4_CLK_DISABLE();
|
||||
/* USER CODE BEGIN TIM4_MspDeInit 1 */
|
||||
|
||||
/* USER CODE END TIM4_MspDeInit 1 */
|
||||
}
|
||||
else if(htim_base->Instance==TIM5)
|
||||
{
|
||||
/* USER CODE BEGIN TIM5_MspDeInit 0 */
|
||||
|
||||
/* USER CODE END TIM5_MspDeInit 0 */
|
||||
/* Peripheral clock disable */
|
||||
__HAL_RCC_TIM5_CLK_DISABLE();
|
||||
/* USER CODE BEGIN TIM5_MspDeInit 1 */
|
||||
|
||||
/* USER CODE END TIM5_MspDeInit 1 */
|
||||
}
|
||||
else if(htim_base->Instance==TIM12)
|
||||
{
|
||||
/* USER CODE BEGIN TIM12_MspDeInit 0 */
|
||||
|
||||
/* USER CODE END TIM12_MspDeInit 0 */
|
||||
/* Peripheral clock disable */
|
||||
__HAL_RCC_TIM12_CLK_DISABLE();
|
||||
/* USER CODE BEGIN TIM12_MspDeInit 1 */
|
||||
|
||||
/* USER CODE END TIM12_MspDeInit 1 */
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief UART MSP Initialization
|
||||
* This function configures the hardware resources used in this example
|
||||
@ -296,7 +467,103 @@ void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
|
||||
void HAL_UART_MspInit(UART_HandleTypeDef* huart)
|
||||
{
|
||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||
if(huart->Instance==USART6)
|
||||
if(huart->Instance==UART7)
|
||||
{
|
||||
/* USER CODE BEGIN UART7_MspInit 0 */
|
||||
|
||||
/* USER CODE END UART7_MspInit 0 */
|
||||
/* Peripheral clock enable */
|
||||
__HAL_RCC_UART7_CLK_ENABLE();
|
||||
|
||||
__HAL_RCC_GPIOE_CLK_ENABLE();
|
||||
/**UART7 GPIO Configuration
|
||||
PE8 ------> UART7_TX
|
||||
PE7 ------> UART7_RX
|
||||
*/
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_7;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF8_UART7;
|
||||
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
|
||||
|
||||
/* USER CODE BEGIN UART7_MspInit 1 */
|
||||
|
||||
/* USER CODE END UART7_MspInit 1 */
|
||||
}
|
||||
else if(huart->Instance==UART8)
|
||||
{
|
||||
/* USER CODE BEGIN UART8_MspInit 0 */
|
||||
|
||||
/* USER CODE END UART8_MspInit 0 */
|
||||
/* Peripheral clock enable */
|
||||
__HAL_RCC_UART8_CLK_ENABLE();
|
||||
|
||||
__HAL_RCC_GPIOE_CLK_ENABLE();
|
||||
/**UART8 GPIO Configuration
|
||||
PE1 ------> UART8_TX
|
||||
PE0 ------> UART8_RX
|
||||
*/
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_0;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF8_UART8;
|
||||
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
|
||||
|
||||
/* USER CODE BEGIN UART8_MspInit 1 */
|
||||
|
||||
/* USER CODE END UART8_MspInit 1 */
|
||||
}
|
||||
else if(huart->Instance==USART1)
|
||||
{
|
||||
/* USER CODE BEGIN USART1_MspInit 0 */
|
||||
|
||||
/* USER CODE END USART1_MspInit 0 */
|
||||
/* Peripheral clock enable */
|
||||
__HAL_RCC_USART1_CLK_ENABLE();
|
||||
|
||||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||
/**USART1 GPIO Configuration
|
||||
PB7 ------> USART1_RX
|
||||
PB6 ------> USART1_TX
|
||||
*/
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_6;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
|
||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||
|
||||
/* USER CODE BEGIN USART1_MspInit 1 */
|
||||
|
||||
/* USER CODE END USART1_MspInit 1 */
|
||||
}
|
||||
else if(huart->Instance==USART3)
|
||||
{
|
||||
/* USER CODE BEGIN USART3_MspInit 0 */
|
||||
|
||||
/* USER CODE END USART3_MspInit 0 */
|
||||
/* Peripheral clock enable */
|
||||
__HAL_RCC_USART3_CLK_ENABLE();
|
||||
|
||||
__HAL_RCC_GPIOD_CLK_ENABLE();
|
||||
/**USART3 GPIO Configuration
|
||||
PD9 ------> USART3_RX
|
||||
PD8 ------> USART3_TX
|
||||
*/
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_8;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
|
||||
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
|
||||
|
||||
/* USER CODE BEGIN USART3_MspInit 1 */
|
||||
|
||||
/* USER CODE END USART3_MspInit 1 */
|
||||
}
|
||||
else if(huart->Instance==USART6)
|
||||
{
|
||||
/* USER CODE BEGIN USART6_MspInit 0 */
|
||||
|
||||
@ -334,7 +601,79 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart)
|
||||
*/
|
||||
void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
|
||||
{
|
||||
if(huart->Instance==USART6)
|
||||
if(huart->Instance==UART7)
|
||||
{
|
||||
/* USER CODE BEGIN UART7_MspDeInit 0 */
|
||||
|
||||
/* USER CODE END UART7_MspDeInit 0 */
|
||||
/* Peripheral clock disable */
|
||||
__HAL_RCC_UART7_CLK_DISABLE();
|
||||
|
||||
/**UART7 GPIO Configuration
|
||||
PE8 ------> UART7_TX
|
||||
PE7 ------> UART7_RX
|
||||
*/
|
||||
HAL_GPIO_DeInit(GPIOE, GPIO_PIN_8|GPIO_PIN_7);
|
||||
|
||||
/* USER CODE BEGIN UART7_MspDeInit 1 */
|
||||
|
||||
/* USER CODE END UART7_MspDeInit 1 */
|
||||
}
|
||||
else if(huart->Instance==UART8)
|
||||
{
|
||||
/* USER CODE BEGIN UART8_MspDeInit 0 */
|
||||
|
||||
/* USER CODE END UART8_MspDeInit 0 */
|
||||
/* Peripheral clock disable */
|
||||
__HAL_RCC_UART8_CLK_DISABLE();
|
||||
|
||||
/**UART8 GPIO Configuration
|
||||
PE1 ------> UART8_TX
|
||||
PE0 ------> UART8_RX
|
||||
*/
|
||||
HAL_GPIO_DeInit(GPIOE, GPIO_PIN_1|GPIO_PIN_0);
|
||||
|
||||
/* USER CODE BEGIN UART8_MspDeInit 1 */
|
||||
|
||||
/* USER CODE END UART8_MspDeInit 1 */
|
||||
}
|
||||
else if(huart->Instance==USART1)
|
||||
{
|
||||
/* USER CODE BEGIN USART1_MspDeInit 0 */
|
||||
|
||||
/* USER CODE END USART1_MspDeInit 0 */
|
||||
/* Peripheral clock disable */
|
||||
__HAL_RCC_USART1_CLK_DISABLE();
|
||||
|
||||
/**USART1 GPIO Configuration
|
||||
PB7 ------> USART1_RX
|
||||
PB6 ------> USART1_TX
|
||||
*/
|
||||
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_7|GPIO_PIN_6);
|
||||
|
||||
/* USER CODE BEGIN USART1_MspDeInit 1 */
|
||||
|
||||
/* USER CODE END USART1_MspDeInit 1 */
|
||||
}
|
||||
else if(huart->Instance==USART3)
|
||||
{
|
||||
/* USER CODE BEGIN USART3_MspDeInit 0 */
|
||||
|
||||
/* USER CODE END USART3_MspDeInit 0 */
|
||||
/* Peripheral clock disable */
|
||||
__HAL_RCC_USART3_CLK_DISABLE();
|
||||
|
||||
/**USART3 GPIO Configuration
|
||||
PD9 ------> USART3_RX
|
||||
PD8 ------> USART3_TX
|
||||
*/
|
||||
HAL_GPIO_DeInit(GPIOD, GPIO_PIN_9|GPIO_PIN_8);
|
||||
|
||||
/* USER CODE BEGIN USART3_MspDeInit 1 */
|
||||
|
||||
/* USER CODE END USART3_MspDeInit 1 */
|
||||
}
|
||||
else if(huart->Instance==USART6)
|
||||
{
|
||||
/* USER CODE BEGIN USART6_MspDeInit 0 */
|
||||
|
||||
|
@ -23,7 +23,6 @@ menu "On-chip Peripheral Drivers"
|
||||
config BSP_USING_UART6
|
||||
bool "Enable UART6 (debug usart)"
|
||||
default y
|
||||
|
||||
config BSP_UART6_RX_USING_DMA
|
||||
bool "Enable UART6 RX DMA"
|
||||
depends on BSP_USING_UART6 && RT_SERIAL_USING_DMA
|
||||
@ -32,24 +31,85 @@ menu "On-chip Peripheral Drivers"
|
||||
config BSP_USING_UART3
|
||||
bool "Enable UART3"
|
||||
default n
|
||||
|
||||
config BSP_UART3_RX_USING_DMA
|
||||
bool "Enable UART3 RX DMA"
|
||||
depends on BSP_USING_UART3 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_USING_UART7
|
||||
bool "Enable UART7"
|
||||
default n
|
||||
config BSP_UART7_RX_USING_DMA
|
||||
bool "Enable UART7 RX DMA"
|
||||
depends on BSP_USING_UART7 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_USING_UART8
|
||||
bool "Enable UART8"
|
||||
default n
|
||||
config BSP_UART8_RX_USING_DMA
|
||||
bool "Enable UART8 RX DMA"
|
||||
depends on BSP_USING_UART8 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_USING_UART1
|
||||
bool "Enable UART1 (DBUS)"
|
||||
default n
|
||||
config BSP_UART1_RX_USING_DMA
|
||||
bool "Enable UART1 RX DMA"
|
||||
depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
endif
|
||||
|
||||
menuconfig BSP_USING_CAN
|
||||
bool "Enable CAN"
|
||||
menuconfig BSP_USING_PWM
|
||||
bool "Enable pwm"
|
||||
default n
|
||||
select RT_USING_CAN
|
||||
if BSP_USING_CAN
|
||||
config BSP_USING_CAN1
|
||||
bool "using CAN1"
|
||||
select RT_USING_PWM
|
||||
if BSP_USING_PWM
|
||||
menuconfig BSP_USING_PWM12
|
||||
bool "Enable timer12 output pwm"
|
||||
default n
|
||||
config BSP_USING_CAN2
|
||||
bool "using CAN2"
|
||||
if BSP_USING_PWM12
|
||||
config BSP_USING_PWM12_CH1
|
||||
bool "Enable PWM12 channel1(buzzer) "
|
||||
default n
|
||||
endif
|
||||
|
||||
menuconfig BSP_USING_PWM4
|
||||
bool "Enable timer4 output pwm"
|
||||
default n
|
||||
if BSP_USING_PWM4
|
||||
config BSP_USING_PWM4_CH1
|
||||
bool "Enable PWM4 channel1"
|
||||
default n
|
||||
config BSP_USING_PWM4_CH2
|
||||
bool "Enable PWM4 channel2"
|
||||
default n
|
||||
config BSP_USING_PWM4_CH3
|
||||
bool "Enable PWM4 channel3"
|
||||
default n
|
||||
config BSP_USING_PWM4_CH4
|
||||
bool "Enable PWM4 channel4"
|
||||
default n
|
||||
endif
|
||||
|
||||
menuconfig BSP_USING_PWM5
|
||||
bool "Enable timer5 output pwm"
|
||||
default n
|
||||
if BSP_USING_PWM5
|
||||
config BSP_USING_PWM5_CH1
|
||||
bool "Enable PWM5 channel1"
|
||||
default n
|
||||
config BSP_USING_PWM5_CH2
|
||||
bool "Enable PWM5 channel2"
|
||||
default n
|
||||
config BSP_USING_PWM5_CH3
|
||||
bool "Enable PWM5 channel3"
|
||||
default n
|
||||
config BSP_USING_PWM5_CH4
|
||||
bool "Enable PWM5 channel4"
|
||||
default n
|
||||
endif
|
||||
endif
|
||||
|
||||
source "../libraries/HAL_Drivers/Kconfig"
|
||||
|
Loading…
x
Reference in New Issue
Block a user