Browse Source

uart is ok

master
zhaohe 1 year ago
parent
commit
66434c8316
  1. 2
      usrc/app_main.cpp
  2. 29
      usrc/board/public_board.cpp
  3. 16
      usrc/board/public_board.hpp

2
usrc/main.cpp → usrc/app_main.cpp

@ -3,6 +3,7 @@
#include "base/config_service.hpp"
#include "base/device_info.hpp"
#include "board/public_board.hpp"
#include "protocol_impl/protocol_impl_service.hpp"
#include "zsdk/zcanreceiver/zcanreceiver.hpp"
#include "zsdk/zsdk.hpp"
@ -35,6 +36,7 @@ void debug_light_ctrl() {
}
void umain() {
PublicBoard::ins()->initialize();
m_debugled.initAsOutput(DEBUG_LIGHT_GPIO, kxs_gpio_nopull, false, false);
// config_init();

29
usrc/board/public_board.cpp

@ -0,0 +1,29 @@
#include "public_board.hpp"
using namespace iflytop;
void DEBUG_UART_INIT(void) {
GPIO_InitTypeDef GPIO_InitStruct = {0};
__HAL_RCC_USART1_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
huart1.Instance = USART1;
huart1.Init.BaudRate = 460800;
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();
}
GPIO_InitStruct.Pin = GPIO_PIN_9 | GPIO_PIN_10;
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_USART1;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}
void PublicBoard::initialize() { DEBUG_UART_INIT(); }

16
usrc/board/public_board.hpp

@ -0,0 +1,16 @@
#include <stddef.h>
#include <stdio.h>
#include "zsdk/zsdk.hpp"
#include "zstm32/zstm32.hpp"
namespace iflytop {
class PublicBoard {
public:
static PublicBoard* ins() {
static PublicBoard instance;
return &instance;
}
void initialize();
};
} // namespace iflytop
Loading…
Cancel
Save