Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "variant.h"
- //--- SPI ---
- static void SPI1_CLK_ENABLE(void) { __HAL_RCC_SPI1_CLK_ENABLE(); }
- static void SPI1_SCK_GPIO_CLK_ENABLE(void) { __HAL_RCC_GPIOB_CLK_ENABLE(); }
- static void SPI1_MISO_GPIO_CLK_ENABLE(void) { __HAL_RCC_GPIOA_CLK_ENABLE(); }
- static void SPI1_MOSI_GPIO_CLK_ENABLE(void) { __HAL_RCC_GPIOA_CLK_ENABLE(); }
- static void SPI1_Alternate(void) { __HAL_AFIO_REMAP_SPI1_DISABLE(); }
- extern spi_init_info_t spi_init_info[NB_SPI_INSTANCES] = {
- {
- .init_done = 0,
- .spi_instance = SPI1,
- .spi_clock_init = SPI1_CLK_ENABLE,
- .spi_sck_clock_init = SPI1_SCK_GPIO_CLK_ENABLE,
- .spi_miso_clock_init = SPI1_MISO_GPIO_CLK_ENABLE,
- .spi_mosi_clock_init = SPI1_MOSI_GPIO_CLK_ENABLE,
- .spi_alternate = SPI1_Alternate,
- .mosi_port = GPIOA,
- .mosi_pin = GPIO_PIN_7,
- .mosi_speed = GPIO_SPEED_FREQ_HIGH,
- .mosi_pull = GPIO_PULLDOWN,
- .mosi_mode = GPIO_MODE_AF_PP,
- .miso_port = GPIOA,
- .miso_pin = GPIO_PIN_6,
- .miso_speed = GPIO_SPEED_FREQ_HIGH,
- .miso_pull = GPIO_PULLDOWN,
- .miso_mode = GPIO_MODE_AF_PP,
- .sck_port = GPIOA,
- .sck_pin = GPIO_PIN_5,
- .sck_speed = GPIO_SPEED_FREQ_HIGH,
- .sck_pull = GPIO_PULLDOWN,
- .sck_mode = GPIO_MODE_AF_PP
- }
- };
- //--- ADC, DAC, PWM ---
- #define SAMPLINGTIME ADC_SAMPLETIME_1CYCLE_5 /*!< ADC conversions sampling time. */
- static void TIM1_AF_PartialRemap(void) { __HAL_RCC_AFIO_CLK_ENABLE(); __HAL_AFIO_REMAP_TIM1_PARTIAL();} // CH1N/A7
- static void TIM2_AF_FullRemap(void) { __HAL_RCC_AFIO_CLK_ENABLE(); __HAL_AFIO_REMAP_TIM2_ENABLE();} // CH2/B3 CH3/B10
- static void TIM3_AF_FullRemap(void) { __HAL_RCC_AFIO_CLK_ENABLE(); __HAL_AFIO_REMAP_TIM3_ENABLE();} // CH2/C7
- static void TIM3_AF_PartialRemap(void) { __HAL_RCC_AFIO_CLK_ENABLE(); __HAL_AFIO_REMAP_TIM3_PARTIAL();} // CH1/B4
- static void TIM4_AF_NoRemap(void) { __HAL_RCC_AFIO_CLK_ENABLE(); __HAL_AFIO_REMAP_TIM4_DISABLE();} // CH1/B6
- //Give details about the analog pins.
- extern analog_config_str g_analog_config[NB_ANALOG_CHANNELS] = {
- {
- .port = GPIOA,
- .pin = GPIO_PIN_0,
- .adcInstance = ADC1,
- .adcChannelConf = {
- .Channel = ADC_CHANNEL_0,
- .Rank = ADC_REGULAR_RANK_1,
- .SamplingTime = SAMPLINGTIME
- },
- #if defined (STM32F100xB) || defined (STM32F100xE) || defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG) || defined (STM32F105xC) || defined (STM32F107xC)
- .dacInstance = NULL,
- #endif
- .timInstance = NULL
- },
- {
- .port = GPIOA,
- .pin = GPIO_PIN_1,
- .adcInstance = ADC1,
- .adcChannelConf = {
- .Channel = ADC_CHANNEL_1,
- .Rank = ADC_REGULAR_RANK_1,
- .SamplingTime = SAMPLINGTIME
- },
- #if defined (STM32F100xB) || defined (STM32F100xE) || defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG) || defined (STM32F105xC) || defined (STM32F107xC)
- .dacInstance = NULL,
- #endif
- .timInstance = NULL
- },
- {
- .port = GPIOA,
- .pin = GPIO_PIN_4,
- .adcInstance = ADC1,
- .adcChannelConf = {
- .Channel = ADC_CHANNEL_4,
- .Rank = ADC_REGULAR_RANK_1,
- .SamplingTime = SAMPLINGTIME
- },
- #if defined (STM32F100xB) || defined (STM32F100xE) || defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG) || defined (STM32F105xC) || defined (STM32F107xC)
- .dacInstance = NULL,
- #endif
- .timInstance = NULL
- },
- {
- .port = GPIOA,
- .pin = GPIO_PIN_5,
- .adcInstance = ADC1,
- .adcChannelConf = {
- .Channel = ADC_CHANNEL_5,
- .Rank = ADC_REGULAR_RANK_1,
- .SamplingTime = SAMPLINGTIME
- },
- #if defined (STM32F100xB) || defined (STM32F100xE) || defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG) || defined (STM32F105xC) || defined (STM32F107xC)
- .dacInstance = NULL,
- #endif
- .timInstance = NULL
- },
- {
- .port = GPIOA,
- .pin = GPIO_PIN_7,
- .alFunction = TIM1_AF_PartialRemap,
- .adcInstance = NULL,
- #if defined (STM32F100xB) || defined (STM32F100xE) || defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG) || defined (STM32F105xC) || defined (STM32F107xC)
- .dacInstance = NULL,
- #endif
- .timInstance = TIM1,
- .timChannel = TIM_CHANNEL_1,
- .useNchannel = 1,
- .timConfig = {
- .OCMode = TIM_OCMODE_PWM1,
- .OCPolarity = TIM_OCPOLARITY_HIGH,
- .OCFastMode = TIM_OCFAST_DISABLE,
- .OCNPolarity = TIM_OCNPOLARITY_HIGH,
- .OCNIdleState = TIM_OCNIDLESTATE_RESET,
- .OCIdleState = TIM_OCIDLESTATE_RESET
- },
- .timHandle = {}
- },
- {
- .port = GPIOA,
- .pin = GPIO_PIN_10,
- .alFunction = NULL,
- .adcInstance = NULL,
- #if defined (STM32F100xB) || defined (STM32F100xE) || defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG) || defined (STM32F105xC) || defined (STM32F107xC)
- .dacInstance = NULL,
- #endif
- .timInstance = NULL,
- },
- {
- .port = GPIOB,
- .pin = GPIO_PIN_0,
- .adcInstance = ADC1,
- .adcChannelConf = {
- .Channel = ADC_CHANNEL_8,
- .Rank = ADC_REGULAR_RANK_1,
- .SamplingTime = SAMPLINGTIME
- },
- #if defined (STM32F100xB) || defined (STM32F100xE) || defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG) || defined (STM32F105xC) || defined (STM32F107xC)
- .dacInstance = NULL,
- #endif
- .timInstance = NULL
- },
- {
- .port = GPIOB,
- .pin = GPIO_PIN_3,
- .alFunction = TIM2_AF_FullRemap,
- .adcInstance = NULL,
- #if defined (STM32F100xB) || defined (STM32F100xE) || defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG) || defined (STM32F105xC) || defined (STM32F107xC)
- .dacInstance = NULL,
- #endif
- .timInstance = TIM2,
- .timChannel = TIM_CHANNEL_2,
- .useNchannel = 0,
- .timConfig = {
- .OCMode = TIM_OCMODE_PWM1,
- .OCPolarity = TIM_OCPOLARITY_HIGH,
- .OCFastMode = TIM_OCFAST_DISABLE,
- .OCNPolarity = TIM_OCNPOLARITY_HIGH,
- .OCNIdleState = TIM_OCNIDLESTATE_RESET,
- .OCIdleState = TIM_OCIDLESTATE_RESET
- },
- .timHandle = {}
- },
- {
- .port = GPIOB,
- .pin = GPIO_PIN_4,
- .alFunction = TIM3_AF_PartialRemap,
- .adcInstance = NULL,
- #if defined (STM32F100xB) || defined (STM32F100xE) || defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG) || defined (STM32F105xC) || defined (STM32F107xC)
- .dacInstance = NULL,
- #endif
- .timInstance = TIM3,
- .timChannel = TIM_CHANNEL_1,
- .useNchannel = 0,
- .timConfig = {
- .OCMode = TIM_OCMODE_PWM1,
- .OCPolarity = TIM_OCPOLARITY_HIGH,
- .OCFastMode = TIM_OCFAST_DISABLE,
- .OCNPolarity = TIM_OCNPOLARITY_HIGH,
- .OCNIdleState = TIM_OCNIDLESTATE_RESET,
- .OCIdleState = TIM_OCIDLESTATE_RESET
- },
- .timHandle = {}
- },
- {
- .port = GPIOB,
- .pin = GPIO_PIN_5,
- .adcInstance = NULL,
- #if defined (STM32F100xB) || defined (STM32F100xE) || defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG) || defined (STM32F105xC) || defined (STM32F107xC)
- .dacInstance = NULL,
- #endif
- .timInstance = NULL
- },
- {
- .port = GPIOB,
- .pin = GPIO_PIN_6,
- .alFunction = TIM4_AF_NoRemap,
- .adcInstance = NULL,
- #if defined (STM32F100xB) || defined (STM32F100xE) || defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG) || defined (STM32F105xC) || defined (STM32F107xC)
- .dacInstance = NULL,
- #endif
- .timInstance = TIM4,
- .timChannel = TIM_CHANNEL_1,
- .useNchannel = 0,
- .timConfig = {
- .OCMode = TIM_OCMODE_PWM1,
- .OCPolarity = TIM_OCPOLARITY_HIGH,
- .OCFastMode = TIM_OCFAST_DISABLE,
- .OCNPolarity = TIM_OCNPOLARITY_HIGH,
- .OCNIdleState = TIM_OCNIDLESTATE_RESET,
- .OCIdleState = TIM_OCIDLESTATE_RESET
- },
- .timHandle = {}
- },
- {
- .port = GPIOB,
- .pin = GPIO_PIN_10,
- .alFunction = TIM2_AF_FullRemap,
- .adcInstance = NULL,
- #if defined (STM32F100xB) || defined (STM32F100xE) || defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG) || defined (STM32F105xC) || defined (STM32F107xC)
- .dacInstance = NULL,
- #endif
- .timInstance = TIM2,
- .timChannel = TIM_CHANNEL_3,
- .useNchannel = 0,
- .timConfig = {
- .OCMode = TIM_OCMODE_PWM1,
- .OCPolarity = TIM_OCPOLARITY_HIGH,
- .OCFastMode = TIM_OCFAST_DISABLE,
- .OCNPolarity = TIM_OCNPOLARITY_HIGH,
- .OCNIdleState = TIM_OCNIDLESTATE_RESET,
- .OCIdleState = TIM_OCIDLESTATE_RESET
- }
- },
- {
- .port = GPIOC,
- .pin = GPIO_PIN_0,
- .adcInstance = ADC1,
- .adcChannelConf = {
- .Channel = ADC_CHANNEL_10,
- .Rank = ADC_REGULAR_RANK_1,
- .SamplingTime = SAMPLINGTIME
- },
- #if defined (STM32F100xB) || defined (STM32F100xE) || defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG) || defined (STM32F105xC) || defined (STM32F107xC)
- .dacInstance = NULL,
- #endif
- .timInstance = NULL
- },
- {
- .port = GPIOC,
- .pin = GPIO_PIN_1,
- .adcInstance = ADC1,
- .adcChannelConf = {
- .Channel = ADC_CHANNEL_11,
- .Rank = ADC_REGULAR_RANK_1,
- .SamplingTime = SAMPLINGTIME
- },
- #if defined (STM32F100xB) || defined (STM32F100xE) || defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG) || defined (STM32F105xC) || defined (STM32F107xC)
- .dacInstance = NULL,
- #endif
- .timInstance = NULL
- },
- {
- .port = GPIOC,
- .pin = GPIO_PIN_7,
- .alFunction = TIM3_AF_FullRemap,
- .adcInstance = NULL,
- #if defined (STM32F100xB) || defined (STM32F100xE) || defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG) || defined (STM32F105xC) || defined (STM32F107xC)
- .dacInstance = NULL,
- #endif
- .timInstance = TIM3,
- .timChannel = TIM_CHANNEL_2,
- .useNchannel = 0,
- .timConfig = {
- .OCMode = TIM_OCMODE_PWM1,
- .OCPolarity = TIM_OCPOLARITY_HIGH,
- .OCFastMode = TIM_OCFAST_DISABLE,
- .OCNPolarity = TIM_OCNPOLARITY_HIGH,
- .OCNIdleState = TIM_OCNIDLESTATE_RESET,
- .OCIdleState = TIM_OCIDLESTATE_RESET
- },
- .timHandle = {}
- },
- };
- //--- Interrupt ---
- #define NB_EXTI (16)
- extern gpio_irq_conf_str gpio_irq_conf[NB_EXTI] = {
- {.pin = GPIO_PIN_0, .irqnb = EXTI0_IRQn, .callback = NULL, .mode = GPIO_MODE_IT_RISING, .configured = 0 },
- {.pin = GPIO_PIN_1, .irqnb = EXTI1_IRQn, .callback = NULL, .mode = GPIO_MODE_IT_RISING, .configured = 0 },
- {.pin = GPIO_PIN_2, .irqnb = EXTI2_IRQn, .callback = NULL, .mode = GPIO_MODE_IT_RISING, .configured = 0 },
- {.pin = GPIO_PIN_3, .irqnb = EXTI3_IRQn, .callback = NULL, .mode = GPIO_MODE_IT_RISING, .configured = 0 },
- {.pin = GPIO_PIN_4, .irqnb = EXTI4_IRQn, .callback = NULL, .mode = GPIO_MODE_IT_RISING, .configured = 0 },
- {.pin = GPIO_PIN_5, .irqnb = EXTI9_5_IRQn, .callback = NULL, .mode = GPIO_MODE_IT_RISING, .configured = 0 },
- {.pin = GPIO_PIN_6, .irqnb = EXTI9_5_IRQn, .callback = NULL, .mode = GPIO_MODE_IT_RISING, .configured = 0 },
- {.pin = GPIO_PIN_7, .irqnb = EXTI9_5_IRQn, .callback = NULL, .mode = GPIO_MODE_IT_RISING, .configured = 0 },
- {.pin = GPIO_PIN_8, .irqnb = EXTI9_5_IRQn, .callback = NULL, .mode = GPIO_MODE_IT_RISING, .configured = 0 },
- {.pin = GPIO_PIN_9, .irqnb = EXTI9_5_IRQn, .callback = NULL, .mode = GPIO_MODE_IT_RISING, .configured = 0 },
- {.pin = GPIO_PIN_10, .irqnb = EXTI15_10_IRQn, .callback = NULL, .mode = GPIO_MODE_IT_RISING, .configured = 0 },
- {.pin = GPIO_PIN_11, .irqnb = EXTI15_10_IRQn, .callback = NULL, .mode = GPIO_MODE_IT_RISING, .configured = 0 },
- {.pin = GPIO_PIN_12, .irqnb = EXTI15_10_IRQn, .callback = NULL, .mode = GPIO_MODE_IT_RISING, .configured = 0 },
- {.pin = GPIO_PIN_13, .irqnb = EXTI15_10_IRQn, .callback = NULL, .mode = GPIO_MODE_IT_RISING, .configured = 0 },
- {.pin = GPIO_PIN_14, .irqnb = EXTI15_10_IRQn, .callback = NULL, .mode = GPIO_MODE_IT_RISING, .configured = 0 },
- {.pin = GPIO_PIN_15, .irqnb = EXTI15_10_IRQn, .callback = NULL, .mode = GPIO_MODE_IT_RISING, .configured = 0 }
- };
- //--- Timer ---
- static void tim1_clock_enable(void) { __TIM1_CLK_ENABLE(); }
- static void tim1_clock_reset(void) { __TIM1_CLK_DISABLE(); }
- static void tim2_clock_enable(void) { __TIM2_CLK_ENABLE(); }
- static void tim2_clock_reset(void) { __TIM2_CLK_DISABLE(); }
- static void tim3_clock_enable(void) { __TIM3_CLK_ENABLE(); }
- static void tim3_clock_reset(void) { __TIM3_CLK_DISABLE(); }
- static void tim4_clock_enable(void) { __TIM4_CLK_ENABLE(); }
- static void tim4_clock_reset(void) { __TIM4_CLK_DISABLE(); }
- extern timer_conf_t g_timer_config[NB_TIMER_MANAGED] = {
- {
- //TIMER ID and IRQ
- .timInstance = TIM1, .irqtype = TIM1_UP_IRQn,
- .irqHandle = NULL,
- .irqHandleOC = NULL,
- .timer_mode = TIMER_OTHER,
- //timer clock init
- .timer_clock_init = tim1_clock_enable,
- //timer clock reset
- .timer_clock_reset = tim1_clock_reset,
- //timer prescaler limit : 8 or 16 bits
- .prescalerLimit = bits_16,
- //toggle pin configuration
- .toggle_pin = { .port = NULL },
- .configured = 0
- },
- {
- //TIMER ID and IRQ
- .timInstance = TIM2, .irqtype = TIM2_IRQn,
- .irqHandle = NULL,
- .irqHandleOC = NULL,
- .timer_mode = TIMER_OTHER,
- //timer clock init
- .timer_clock_init = tim2_clock_enable,
- //timer clock reset
- .timer_clock_reset = tim2_clock_reset,
- //timer prescaler limit : 8 or 16 bits
- .prescalerLimit = bits_16,
- //toggle pin configuration
- .toggle_pin = { .port = NULL },
- .configured = 0
- },
- {
- //TIMER ID and IRQ
- .timInstance = TIM3, .irqtype = TIM3_IRQn,
- .irqHandle = NULL,
- .irqHandleOC = NULL,
- .timer_mode = TIMER_OTHER,
- //timer clock init
- .timer_clock_init = tim3_clock_enable,
- //timer clock reset
- .timer_clock_reset = tim3_clock_reset,
- //timer prescaler limit : 8 or 16 bits
- .prescalerLimit = bits_16,
- //toggle pin configuration
- .toggle_pin = { .port = NULL },
- .configured = 0
- },
- {
- //TIMER ID and IRQ
- .timInstance = TIM4, .irqtype = TIM4_IRQn,
- .irqHandle = NULL,
- .irqHandleOC = NULL,
- .timer_mode = TIMER_OTHER,
- //timer clock init
- .timer_clock_init = tim4_clock_enable,
- //timer clock reset
- .timer_clock_reset = tim4_clock_reset,
- //timer prescaler limit : 8 or 16 bits
- .prescalerLimit = bits_16,
- //toggle pin configuration
- .toggle_pin = { .port = NULL },
- .configured = 0
- }
- };
- //--- I2C ---
- static void i2c1_clk_enable(void) { __HAL_RCC_I2C1_CLK_ENABLE(); }
- static void i2c1_clk_disable(void) { __HAL_RCC_I2C1_CLK_DISABLE(); }
- static void i2c1_scl_clk_enable(void) { __HAL_RCC_GPIOB_CLK_ENABLE(); }
- static void i2c1_sda_clk_enable(void) { __HAL_RCC_GPIOB_CLK_ENABLE(); }
- static void i2c1_scl_clk_disable(void) { __HAL_RCC_GPIOB_CLK_DISABLE(); }
- static void i2c1_sda_clk_disable(void) { __HAL_RCC_GPIOB_CLK_DISABLE(); }
- static void i2c1_force_reset(void) { __I2C1_FORCE_RESET(); }
- static void i2c1_release_reset(void) { __I2C1_RELEASE_RESET(); }
- static void i2c1_alternate(void) { __HAL_RCC_AFIO_CLK_ENABLE(); __HAL_AFIO_REMAP_I2C1_ENABLE(); }
- extern i2c_init_info_t g_i2c_init_info[NB_I2C_INSTANCES] = {
- {
- .init_done = 0,
- .i2c_instance = I2C1,
- .irq = I2C1_EV_IRQn,
- .i2c_clock_init = i2c1_clk_enable,
- .i2c_scl_clock_init = i2c1_scl_clk_enable,
- .i2c_sda_clock_init = i2c1_sda_clk_enable,
- .i2c_clock_deinit = i2c1_clk_disable,
- .i2c_scl_clock_deinit = i2c1_scl_clk_disable,
- .i2c_sda_clock_deinit = i2c1_sda_clk_disable,
- .i2c_force_reset = i2c1_force_reset,
- .i2c_release_reset = i2c1_release_reset,
- .i2c_alternate = i2c1_alternate,
- .sda_port = GPIOB,
- .sda_pin = GPIO_PIN_9,
- .sda_mode = GPIO_MODE_AF_OD,
- .sda_pull = GPIO_PULLUP,
- .sda_speed = GPIO_SPEED_FREQ_HIGH,
- .scl_port = GPIOB,
- .scl_pin = GPIO_PIN_8,
- .scl_mode = GPIO_MODE_AF_OD,
- .scl_pull = GPIO_PULLUP,
- .scl_speed = GPIO_SPEED_FREQ_HIGH,
- .i2c_onSlaveReceive = NULL,
- .i2c_onSlaveTransmit = NULL,
- .i2cTxRxBufferSize = 0
- }
- };
- //----
- //UART
- //----
- static void usart1_clock_enable(void) { __HAL_RCC_USART1_CLK_ENABLE(); }
- static void usart1_force_reset(void) { __HAL_RCC_USART1_FORCE_RESET(); }
- static void usart1_release_reset(void) { __HAL_RCC_USART1_RELEASE_RESET(); }
- static void usart2_clock_enable(void) { __HAL_RCC_USART2_CLK_ENABLE(); }
- static void usart2_force_reset(void) { __HAL_RCC_USART2_FORCE_RESET(); }
- static void usart2_release_reset(void) { __HAL_RCC_USART2_RELEASE_RESET(); }
- static void gpioa_clock_enable(void) { __HAL_RCC_GPIOA_CLK_ENABLE(); }
- static void gpiob_clock_enable(void) { __HAL_RCC_GPIOB_CLK_ENABLE(); }
- static void USART1_AF_Remap(void) {__HAL_RCC_AFIO_CLK_ENABLE(); __HAL_AFIO_REMAP_USART1_DISABLE();}
- static void USART2_AF_Remap(void) {__HAL_RCC_AFIO_CLK_ENABLE(); __HAL_AFIO_REMAP_USART2_DISABLE();}
- extern uart_conf_t g_uart_config[NB_UART_MANAGED] = {
- //USART1 (PA9/PA10)
- {
- //UART ID and IRQ
- .usart_typedef = USART1, .irqtype = USART1_IRQn,
- //tx pin configuration
- .tx_port = GPIOA, .tx_pin = {GPIO_PIN_9, GPIO_MODE_AF_PP, GPIO_PULLUP, GPIO_SPEED_FREQ_HIGH},
- //rx pin configuration
- .rx_port = GPIOA, .rx_pin = {GPIO_PIN_10, GPIO_MODE_INPUT, GPIO_PULLUP, GPIO_SPEED_FREQ_HIGH},
- .uart_af_remap = USART1_AF_Remap,
- //uart clock init
- .uart_clock_init = usart1_clock_enable,
- //uart force reset
- .uart_force_reset = usart1_force_reset,
- //uart release reset
- .uart_release_reset = usart1_release_reset,
- //TX gpio clock init
- .gpio_tx_clock_init = gpioa_clock_enable,
- //RX gpio clock init
- .gpio_rx_clock_init = gpioa_clock_enable,
- .data_available = 0,
- .begin = 0,
- .end = 0,
- .uart_option = NATIVE_UART_E
- },
- //USART2 (PA2/PA3)
- {
- .usart_typedef = USART2, .irqtype = USART2_IRQn,
- //tx pin configuration
- .tx_port = GPIOA, .tx_pin = {GPIO_PIN_2, GPIO_MODE_AF_PP, GPIO_PULLUP, GPIO_SPEED_FREQ_HIGH},
- //rx pin configuration
- .rx_port = GPIOA, .rx_pin = {GPIO_PIN_3, GPIO_MODE_AF_PP, GPIO_PULLUP, GPIO_SPEED_FREQ_HIGH},
- .uart_af_remap = USART2_AF_Remap,
- //uart clock init
- .uart_clock_init = usart2_clock_enable,
- //uart force reset
- .uart_force_reset = usart2_force_reset,
- //uart release reset
- .uart_release_reset = usart2_release_reset,
- //TX gpio clock init
- .gpio_tx_clock_init = gpioa_clock_enable,
- //RX gpio clock init
- .gpio_rx_clock_init = gpioa_clock_enable,
- .data_available = 0,
- .begin = 0,
- .end = 0,
- .uart_option = NATIVE_UART_E
- }
- };
- extern uart_emul_conf_t g_uartEmul_config[NB_UART_EMUL_MANAGED] = {
- {
- .uartEmul_typedef = {UART1_EMUL_E},
- .tx_port = GPIOB, .tx_pin = {GPIO_PIN_3, GPIO_MODE_OUTPUT_PP, GPIO_PULLUP, GPIO_SPEED_FREQ_HIGH},
- .rx_port = GPIOA, .rx_pin = {GPIO_PIN_10, GPIO_MODE_IT_FALLING, GPIO_PULLUP, GPIO_SPEED_FREQ_HIGH},
- .gpio_tx_clock_init = gpiob_clock_enable,
- .gpio_rx_clock_init = gpioa_clock_enable,
- .uart_rx_irqHandle = NULL,
- .data_available = 0,
- .begin = 0,
- .end = 0,
- .uart_option = EMULATED_UART_E
- }
- };
Add Comment
Please, Sign In to add comment