From b3cae2e4945639f0148a5e3034b039f5679151e3 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Sat, 24 Aug 2024 10:22:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=AF=94=E4=BE=8B=E9=98=80?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E4=BD=BF=E8=83=BD=E8=BE=93=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modbus/modbus_block_host.cpp | 28 +++++++++++++++------------- modbus/modbus_block_host.hpp | 4 +++- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/modbus/modbus_block_host.cpp b/modbus/modbus_block_host.cpp index fda126e..6c44133 100644 --- a/modbus/modbus_block_host.cpp +++ b/modbus/modbus_block_host.cpp @@ -14,6 +14,8 @@ void ModbusBlockHost::initialize(UART_HandleTypeDef *huart) { this->huart = huart; m_modbus_lock.init(); } +void ModbusBlockHost::enableDump(bool enable) { m_dump = enable; } + void ModbusBlockHost::cleanRxBuff() { // HAL_StatusTypeDef status; do { @@ -23,13 +25,13 @@ void ModbusBlockHost::cleanRxBuff() { // void ModbusBlockHost::uarttx(uint8_t *buff, size_t len) { ZASSERT(len < sizeof(txbuff)); -#if PRV_DEBUG - printf("uart_tx:\n"); - for (size_t i = 0; i < len; i++) { - printf("%02x ", buff[i]); + if (m_dump) { + printf("uart_tx:\n"); + for (size_t i = 0; i < len; i++) { + printf("%02x ", buff[i]); + } + printf("\n"); } - printf("\n"); -#endif // HAL_UART_Transmit(huart, buff, len, 1000); HAL_UART_DMAStop(huart); HAL_StatusTypeDef ret = HAL_UART_Transmit_DMA(huart, buff, len); @@ -54,15 +56,15 @@ bool ModbusBlockHost::uartrx(uint8_t *buff, size_t len, int overtimems) { for (size_t i = 0; i < overtimems; i++) { osDelay(3); if (HAL_UART_GetState(huart) == HAL_UART_STATE_READY) { -#if PRV_DEBUG - if (status == HAL_OK) { - printf("uart_rx:"); - for (size_t i = 0; i < len; i++) { - printf("%02x ", buff[i]); + if (m_dump) { + if (status == HAL_OK) { + printf("uart_rx:"); + for (size_t i = 0; i < len; i++) { + printf("%02x ", buff[i]); + } + printf("\n"); } - printf("\n"); } -#endif return true; } } diff --git a/modbus/modbus_block_host.hpp b/modbus/modbus_block_host.hpp index 52d67be..e5b6736 100644 --- a/modbus/modbus_block_host.hpp +++ b/modbus/modbus_block_host.hpp @@ -1,7 +1,7 @@ #pragma once // -#include "stm32basic/zbasic.h" #include "stm32basic/stm32basic.hpp" +#include "stm32basic/zbasic.h" namespace iflytop { class ModbusBlockHost { @@ -11,12 +11,14 @@ class ModbusBlockHost { uint8_t rxbuff[100]; zmutex m_modbus_lock; + bool m_dump= false; public: ModbusBlockHost(); ~ModbusBlockHost(); void initialize(UART_HandleTypeDef *huart); + void enableDump(bool enable); bool readReg03(uint8_t slaveAddr, uint16_t regAddr, uint16_t *regVal, int overtimems); bool readReg03Muti(uint8_t slaveAddr, uint16_t regAddr, uint16_t *regVal, int regNum, int overtimems);