#ifndef __MODBUS_H #define __MODBUS_H // #include "bms_config.h" #include "fly_param.h" // #include "bmu_param.h" #include "includes.h" #include "iwdg.h" #include "uart1.h" #include "uart3.h" typedef unsigned char MODBUS_INT8U; typedef signed char MODBUS_INT8S; typedef unsigned short MODBUS_INT16U; typedef signed short MODBUS_INT16S; typedef unsigned int MODBUS_INT32U; typedef signed int MODBUS_INT32S; typedef void (*txfun_p)(const INT8U *buf, INT16U len); #define MODBUS_GAIN(VALUE1, VALUE2) ((MODBUS_INT32U)(VALUE1) * (VALUE2)) #define MODBUS_SUBTRACT(VALUE1, VALUE2) ((MODBUS_INT32U)(VALUE1) - (VALUE2)) #define MODBUS_DIVISION(DIVISOR, DIVIDEND) (((MODBUS_INT32U)(DIVISOR) + (DIVIDEND) / 2) / (DIVIDEND)) #define MODBUS_ABS(VALUE1) (((VALUE1) < 0) ? (-(VALUE1)) : (VALUE1)) #define BUF_LEN_128 128 #define BUF_LEN_256 256 #define BUF_LEN_512 512 #define RACK_NUM 1u #define BUF_LEN_768 768 #define GROUP_NUMBER_MAX 15 #define VOL_TMP_PAGE_NUM 32 #define BUF_LEN_256 256 #define BUF_LEN_512 512 #define RACK_NUM 1u #define BUF_LEN_768 768 #define GROUP_NUMBER_MAX 15 #define VOL_TMP_PAGE_NUM 32 #define FUNC_03 3 #define FUNC_05 5 #define FUNC_06 6 #define FUNC_10 16 // samkoon COM def #define COUNT_INDEX_H 4 #define COUNT_INDEX_L 5 #define REGISTER_ADDR_H 2 #define REGISTER_ADDR_L 3 #define FUNCTION_CODE_INDEX 1 // samkoon address def #define MODBUS_ADDR_SOC 0x4101 // 电池簇SOC寄存器地址 #define MODBUS_ADDR_CELL 0x4301 // 单体电压寄存器地址 #define MODBUS_ADDR_TEMP 0x55c1 // 单体温度寄存器地址 #define MODBUS_ADDR_READ_KA 0x1001 // 继电器状态读地址 #define MODBUS_ADDR_RACK_REMOTE 0xC9 // #define MODBUS_RACK_END 0x4120 // 电池簇SOC寄存器地址 #define MODBUS_CELL_END 0x4490 #define MODBUS_TEMP_END 0x5750 #define MODBUS_KA_END 0x1009 #define MODBUS_ADDR_RACK_REMOTE_END 0xE7 void modbus_master_task(void); void modbus_slave_task(void); #endif