diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/modbus.c | 2 | ||||
| -rw-r--r-- | src/modbus.h | 16 |
2 files changed, 12 insertions, 6 deletions
diff --git a/src/modbus.c b/src/modbus.c index 4bacdaf..3fae070 100644 --- a/src/modbus.c +++ b/src/modbus.c @@ -13,7 +13,7 @@ @param uint8_t a (0x00..0xFF) @return calculated CRC (0x0000..0xFFFF) */ -uint16_t crc16_update(uint16_t crc, uint8_t a) +static uint16_t crc16_update(uint16_t crc, uint8_t a) { int i; crc ^= a; diff --git a/src/modbus.h b/src/modbus.h index f7553dd..7f80c4c 100644 --- a/src/modbus.h +++ b/src/modbus.h @@ -36,16 +36,22 @@ typedef enum { extern MB_StatusTypeDef (*MB_UART_Tx)(void*, uint16_t*, uint8_t*, uint8_t*); extern MB_StatusTypeDef (*MB_UART_Rx)(void*, uint16_t*, uint8_t*, uint8_t*); -uint16_t crc16_update(uint16_t crc, uint8_t a); -MB_StatusTypeDef modbus_transaction (uint8_t func, modbus_slave_device *device, +MB_StatusTypeDef modbus_transaction(uint8_t func, modbus_slave_device *device, uint16_t rw_addr, int read_num, uint16_t write_value); -MB_StatusTypeDef ReadHoldingRegisters(modbus_slave_device *device, uint16_t reg_addr, + +MB_StatusTypeDef ReadHoldingRegisters(modbus_slave_device *device, + uint16_t reg_addr, int read_num); -MB_StatusTypeDef ReadInputRegisters(modbus_slave_device *device, uint16_t reg_addr, + +MB_StatusTypeDef ReadInputRegisters(modbus_slave_device *device, + uint16_t reg_addr, int read_num); -MB_StatusTypeDef WriteSingleRegister(modbus_slave_device *device, uint16_t reg_addr, + +MB_StatusTypeDef WriteSingleRegister(modbus_slave_device *device, + uint16_t reg_addr, uint16_t write_val); + void ClearResponseBuffer(modbus_slave_device *device); #endif |
