//-------------------------------------------------------// // Project Code : ESS100K3L-01-19 // File Name : ModBus.h // Created on : 2019. 06. 09. // Description : // Author : KimJeongWoo // Last modified Date : //-------------------------------------------------------// #ifndef _MODBUS_SCI_H__ #define _MODBUS_SCI_H__ #ifdef __cplusplus extern "C" { #endif extern void InitModbusSci(); void InitModbusPtr(); extern void InitSci(); #define MODBUSA_ENB 1 #define MODBUSB_ENB 0 //-----------------------Modbus A -----------------------------// #pragma SET_CODE_SECTION(".TI.ramfunc") extern void ModbusACheckBuffer(); extern void ModbusAResponse(); void ModbusA3rdResponse(); void ModbusA4thResponse(); void ModbusA6thResponse(); void ModbusA16thResponse(); void ModbusABadResponse(); int ModbusASerialRange(int address); int ModbusACRC16(int dataLength,int check); extern void ModbusARxDataUpdate(void); extern void ModbusATxDataUpdate(void); #pragma SET_CODE_SECTION() #define MODBUSAPTRMAX 1010 #pragma SET_DATA_SECTION(".Modbus") extern volatile void *ModbusAPtr[MODBUSAPTRMAX]; void InitModbusAPtr(void); #pragma SET_DATA_SECTION() //-----------------------Modbus B -----------------------------// #if(MODBUSB_ENB) extern void ModbusBCheckBuffer(); extern void ModbusBResponse(); void ModbusB3rdResponse(); void ModbusB4thResponse(); void ModbusB6thResponse(); void ModbusB16thResponse(); void ModbusBBadResponse(); int ModbusBSerialRange(int address); int ModbusBCRC16(int dataLength,int check); void InitModbusBPtr(void); #define MODBUSBPTRMAX 300 extern volatile void *ModbusBPtr[MODBUSBPTRMAX]; extern void ModbusBRxDataUpdate(void); extern void ModbusBTxDataUpdate(void); #endif extern void ModbusALLCheckBuffer(void); extern void ModbusALLResponse(void); extern void ModbusALLDataUpdate(void); //#include "CRC16.h" #ifdef __cplusplus } #endif /* extern "C" */ #endif // of _Modbus_SCI_H__