From 950ce6b0bbe659c366f8f80e9bbfdf2297c81057 Mon Sep 17 00:00:00 2001 From: kozt <96878659+koztkozt@users.noreply.github.com> Date: Sun, 20 Mar 2022 00:13:36 +0800 Subject: [PATCH] Fix "floating point exception" error Fix "floating point exception" error due to rtu_baud = 0 or null for Modbus TCP device --- webserver/core/modbus_master.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/webserver/core/modbus_master.cpp b/webserver/core/modbus_master.cpp index 461a841..b3558c1 100755 --- a/webserver/core/modbus_master.cpp +++ b/webserver/core/modbus_master.cpp @@ -418,7 +418,14 @@ void *querySlaveDevices(void *arg) struct timespec ts; ts.tv_sec = 0; - ts.tv_nsec = (1000*1000*1000*28)/mb_devices[i].rtu_baud; + if (mb_devices[i].protocol == MB_RTU) + { + ts.tv_nsec = (1000*1000*1000*28)/mb_devices[i].rtu_baud; + } + else + { + ts.tv_nsec = 0; + } //Read discrete inputs if (mb_devices[i].discrete_inputs.num_regs != 0)