Browse Source

change UART2 RX and Tx

moveToEndTestVersion
sunlight 11 months ago
parent
commit
45b37e461e
  1. 5
      usrc/app/exth2o2_sensor.cpp
  2. 42
      usrc/board/hal/h2o2_ext_board.cpp
  3. 2
      usrc/board/hal/h2o2_ext_board.hpp
  4. 2
      usrc/board/hal/large_space_dm_power_ctrl_board.cpp

5
usrc/app/exth2o2_sensor.cpp

@ -14,8 +14,8 @@ ExtH2O2Sensor* ExtH2O2Sensor::ins() {
static ExtH2O2Sensor instance; static ExtH2O2Sensor instance;
return &instance; return &instance;
} }
void ExtH2O2Sensor::initialize() {
LargeSpaceDmPowerCtrlBoardHal::HUART3_INIT(19200, UART_STOPBITS_2);
void ExtH2O2Sensor::initialize(s) {
H2O2ExtBoard::HUART2_INIT(19200, UART_STOPBITS_2);
H2O2ExtBoard::HADC1_INIT(); H2O2ExtBoard::HADC1_INIT();
h2o2Sensor.initialize(&huart2, &hadc1, ADC_CHANNEL_10); h2o2Sensor.initialize(&huart2, &hadc1, ADC_CHANNEL_10);
@ -61,5 +61,6 @@ void ExtH2O2Sensor::onH2O2MonitorThread() {
} else { } else {
setAlarmLight(kconnected); setAlarmLight(kconnected);
} }
osDelay(1000);
} }
} }

42
usrc/board/hal/h2o2_ext_board.cpp

@ -51,3 +51,45 @@ void H2O2ExtBoard::HADC1_INIT() {
Error_Handler(); Error_Handler();
} }
} }
void H2O2ExtBoard::HUART2_INIT(int baudrate, uint32_t StopBits) {
__HAL_RCC_USART2_CLK_ENABLE();
__HAL_RCC_GPIOD_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_DMA1_CLK_ENABLE();
GPIO_InitTypeDef GPIO_InitStruct = {0};
huart2.Instance = USART2;
huart2.Init.BaudRate = baudrate;
huart2.Init.WordLength = UART_WORDLENGTH_8B;
huart2.Init.StopBits = StopBits;
huart2.Init.Parity = UART_PARITY_NONE;
huart2.Init.Mode = UART_MODE_TX_RX;
huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart2.Init.OverSampling = UART_OVERSAMPLING_16;
if (HAL_UART_Init(&huart2) != HAL_OK) {
Error_Handler();
}
/**USART2 GPIO Configuration
PD5 ------> USART2_TX
PD6 ------> USART2_RX
*/
GPIO_InitStruct.Pin = GPIO_PIN_2 | GPIO_PIN_3;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF7_USART2;
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
/* USART2 interrupt Init */
HAL_NVIC_SetPriority(USART2_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(USART2_IRQn);
__HAL_RCC_DMA1_CLK_ENABLE();
HalUtils::uartdmainit(&huart2, &hdma1_stream5, DMA_CHANNEL_4, &hdma1_stream6, DMA_CHANNEL_4);
HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn);
HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn);
}

2
usrc/board/hal/h2o2_ext_board.hpp

@ -7,5 +7,7 @@ namespace iflytop {
class H2O2ExtBoard { class H2O2ExtBoard {
public: public:
static void HADC1_INIT(); static void HADC1_INIT();
static void HUART2_INIT(int baudrate, uint32_t StopBits);
}; };
} // namespace iflytop } // namespace iflytop

2
usrc/board/hal/large_space_dm_power_ctrl_board.cpp

@ -85,7 +85,7 @@ void LargeSpaceDmPowerCtrlBoardHal::HUART2_INIT(int baudrate, uint32_t StopBits)
PD5 ------> USART2_TX PD5 ------> USART2_TX
PD6 ------> USART2_RX PD6 ------> USART2_RX
*/ */
GPIO_InitStruct.Pin = GPIO_PIN_5 | GPIO_PIN_6;
GPIO_InitStruct.Pin = GPIO_PIN_2 | GPIO_PIN_3;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;

Loading…
Cancel
Save