diff --git a/Inc/modbus_oscil.h b/Inc/modbus_oscil.h index 34291f9..a772cf6 100644 --- a/Inc/modbus_oscil.h +++ b/Inc/modbus_oscil.h @@ -59,7 +59,7 @@ typedef struct */ typedef struct { - MB_ConfigTypeDef Config; /*!< @brief Отн. Адрес 0-6: Конфигурация */ + MB_ConfigTypeDef Config; /*!< @brief Отн. Адрес 0-5: Конфигурация */ uint16_t User[4]; /*!< @brief Отн. Адрес 6-9: Пользовательские регистры */ MB_PreambleTypeDef Preamble; /*!< @brief Отн. Адрес 10: Указатели head и tail буфера */ uint8_t Data[MbData_size*2-1]; ///< /*!< @brief Отн. Адрес 11-131: Буфер данных (в байтах) */ diff --git a/Src/modbus_oscil.c b/Src/modbus_oscil.c index 330a7d7..9ddd638 100644 --- a/Src/modbus_oscil.c +++ b/Src/modbus_oscil.c @@ -71,7 +71,7 @@ HAL_StatusTypeDef MB_Oscil_Set_SampleTime(MB_OscilTypeDef *oscil, uint16_t Sampl */ HAL_StatusTypeDef MB_Oscil_Add(MB_OscilTypeDef *oscil, uint8_t *Data) { - if(!oscil || !Data) + if(!oscil || !Data || !oscil->Config.BufferSize) return HAL_ERROR; if(local_time() - oscil->Config.LastTick < oscil->Config.SampleTime)