From 66434c8316050175325359c72dc6d6a44b0eb020 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Tue, 6 Aug 2024 20:30:16 +0800 Subject: [PATCH] uart is ok --- usrc/app_main.cpp | 64 +++++++++++++++++++++++++++++++++++++++++++++ usrc/board/public_board.cpp | 29 ++++++++++++++++++++ usrc/board/public_board.hpp | 16 ++++++++++++ usrc/main.cpp | 62 ------------------------------------------- 4 files changed, 109 insertions(+), 62 deletions(-) create mode 100644 usrc/app_main.cpp create mode 100644 usrc/board/public_board.cpp create mode 100644 usrc/board/public_board.hpp delete mode 100644 usrc/main.cpp diff --git a/usrc/app_main.cpp b/usrc/app_main.cpp new file mode 100644 index 0000000..aac0e35 --- /dev/null +++ b/usrc/app_main.cpp @@ -0,0 +1,64 @@ +#include +#include + +#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" + +#define TAG "main" +using namespace iflytop; + +extern void umain(); +extern "C" { +void StartDefaultTask(void const* argument) { umain(); } +} +/******************************************************************************* + * MAIN * + *******************************************************************************/ + +extern "C" { +// void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { +// } +} + +ZGPIO m_debugled; + +void debug_light_ctrl() { + static uint32_t lastcall = 0; + static bool light_status = false; + if (zhas_passedms(lastcall) > 100) { + m_debugled.toggle(); + lastcall = zget_ticket(); + } +} + +void umain() { + PublicBoard::ins()->initialize(); + m_debugled.initAsOutput(DEBUG_LIGHT_GPIO, kxs_gpio_nopull, false, false); + + // config_init(); + // deviceInfo_init(); + ZLOGI(TAG, "======================= boardinfo ==================== "); + ZLOGI(TAG, "project : %s ", PROJECT); + ZLOGI(TAG, "version : %d ", SOFTWARE_VERSION); + ZLOGI(TAG, "pversion: %d", deviceInfo_getProtocolVersion()); + ZLOGI(TAG, "sn : %s", sn_get_str()); + ZLOGI(TAG, "boardId : %d", deviceInfo_getBoardId()); + ZLOGI(TAG, "="); + + ZLOGI(TAG, "======================= init info ==================== "); + // protocol_impl_service_init(); + ZLOGI(TAG, "="); + + ZLOGI(TAG, "======================= sysinfo ======================= "); + // SysMgr::ins()->initedFinished(); + // SysMgr::ins()->dumpSysInfo(); + ZLOGI(TAG, "="); + while (true) { + osDelay(1); + // debug_light_ctrl(); + } +} diff --git a/usrc/board/public_board.cpp b/usrc/board/public_board.cpp new file mode 100644 index 0000000..62d3b30 --- /dev/null +++ b/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(); } diff --git a/usrc/board/public_board.hpp b/usrc/board/public_board.hpp new file mode 100644 index 0000000..8a3e144 --- /dev/null +++ b/usrc/board/public_board.hpp @@ -0,0 +1,16 @@ +#include +#include + +#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 \ No newline at end of file diff --git a/usrc/main.cpp b/usrc/main.cpp deleted file mode 100644 index c38c4c8..0000000 --- a/usrc/main.cpp +++ /dev/null @@ -1,62 +0,0 @@ -#include -#include - -#include "base/config_service.hpp" -#include "base/device_info.hpp" -#include "protocol_impl/protocol_impl_service.hpp" -#include "zsdk/zcanreceiver/zcanreceiver.hpp" -#include "zsdk/zsdk.hpp" - -#define TAG "main" -using namespace iflytop; - -extern void umain(); -extern "C" { -void StartDefaultTask(void const* argument) { umain(); } -} -/******************************************************************************* - * MAIN * - *******************************************************************************/ - -extern "C" { -// void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { -// } -} - -ZGPIO m_debugled; - -void debug_light_ctrl() { - static uint32_t lastcall = 0; - static bool light_status = false; - if (zhas_passedms(lastcall) > 100) { - m_debugled.toggle(); - lastcall = zget_ticket(); - } -} - -void umain() { - m_debugled.initAsOutput(DEBUG_LIGHT_GPIO, kxs_gpio_nopull, false, false); - - // config_init(); - // deviceInfo_init(); - ZLOGI(TAG, "======================= boardinfo ==================== "); - ZLOGI(TAG, "project : %s ", PROJECT); - ZLOGI(TAG, "version : %d ", SOFTWARE_VERSION); - ZLOGI(TAG, "pversion: %d", deviceInfo_getProtocolVersion()); - ZLOGI(TAG, "sn : %s", sn_get_str()); - ZLOGI(TAG, "boardId : %d", deviceInfo_getBoardId()); - ZLOGI(TAG, "="); - - ZLOGI(TAG, "======================= init info ==================== "); - // protocol_impl_service_init(); - ZLOGI(TAG, "="); - - ZLOGI(TAG, "======================= sysinfo ======================= "); - // SysMgr::ins()->initedFinished(); - // SysMgr::ins()->dumpSysInfo(); - ZLOGI(TAG, "="); - while (true) { - osDelay(1); - // debug_light_ctrl(); - } -}