- Переработана архитектура: * modbus_core.h - базовые определения и структуры * modbus_coils.[h/c] - работа с коилами * modbus_holdregs.[h/c] - работа с регистрами хранения (R/W) * modbus_inputregs.[h/c] -работа с входными регистрами (R/O) * modbus_devid.[h/c] - идентификаторы устройства * modbus_data.[h/c] - карта регистров и коилов и валидация адресов - Улучшена документация: * Обновлены Doxygen-комментарии к функциям * Обновлены шапки файлов с подробным описанием * Обновлена инструкция по подключению и использованию
52 lines
2.6 KiB
C
52 lines
2.6 KiB
C
/**
|
|
******************************************************************************
|
|
* @file modbus_config.h
|
|
* @brief Конфигурационные параметры Modbus устройства
|
|
******************************************************************************
|
|
@addtogroup MODBUS_CONFIGS Modbus configs
|
|
@ingroup MODBUS
|
|
@{
|
|
******************************************************************************
|
|
* @details
|
|
Файл содержит настройки для работы Modbus:
|
|
- Идентификатор устройства и таймауты
|
|
- Строковые идентификаторы (Vendor, Product, Revision)
|
|
- Настройки периферии (UART, TIMER)
|
|
- Опциональные функции (переключение команд 0x03/0x04)
|
|
******************************************************************************/
|
|
#ifndef _MODBUS_CONFIG_H_
|
|
#define _MODBUS_CONFIG_H_
|
|
#include "stm32f1xx_hal.h"
|
|
|
|
// Общие параметры
|
|
#define MODBUS_DEVICE_ID 1 ///< девайс текущего устройства
|
|
#define MODBUS_TIMEOUT 5000 ///< максимальнйы тайтаут MB в тиках таймера
|
|
|
|
// Строковые идентификаторы устройства
|
|
#define MODBUS_VENDOR_NAME "NIO-12"
|
|
#define MODBUS_PRODUCT_CODE ""
|
|
#define MODBUS_REVISION "Ver. 1.0"
|
|
#define MODBUS_VENDOR_URL ""
|
|
#define MODBUS_PRODUCT_NAME ""
|
|
#define MODBUS_MODEL_NAME "STM32F103"
|
|
#define MODBUS_USER_APPLICATION_NAME ""
|
|
#define MODBUS_NUMB_OF_USEROBJECTS 0
|
|
|
|
// Периферия (опционально)
|
|
#define mb_huart huart1 ///< Удобный дефайн для модбасовского uart
|
|
#define mb_htim htim3 ///< Удобный дефайн для модбасовского таймера
|
|
///<
|
|
|
|
/**
|
|
* @brief Поменять комманды 0x03 и 0x04 местами (для LabView терминалки от двигателей)
|
|
* @details Терминалка от двигателей использует для чтения регистров комманду R_HOLD_REGS вместо R_IN_REGS
|
|
* Поэтому чтобы считывать Input Regs - надо поменять их местами.
|
|
*/
|
|
//#define MODBUS_SWITCH_COMMAND_R_IN_REGS_AND_R_HOLD_REGS
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
/////////////////////////---CALC DEFINES---//////////////////////////
|
|
|
|
|
|
|
|
#endif //_MODBUS_CONFIG_H_
|