Implement the register <-> float conversion without breaking aliasing rules.
Implement the register <-> float conversion without breaking aliasing rules.

The previous implementation dereferenced a type-puned pointer, which is
illegal according to ANSI C. Some newer versions of GCC will complain
about this. This implementation uses "memcpy" to avoid this problem.

dhruvvyas90/libmodbus,cukier/libmodbus,mhei/libmodbus,wablair/libmodbus,SystemTera/libmodbus,charlie-x/libmodbus,OliverDDS/libmodbus,killdaclick/libmodbus,sdwuyawen/libmodbus,giangdo/modbusMSim,stephane/libmodbus,cmcmurrough/libmodbus,cukier/libmodbus,dhruvvyas90/libmodbus,sstiller/libmodbus,killdaclick/libmodbus,mhei/libmodbus,sureforce/new,OliverDDS/libmodbus,vb2685/modbus,vb2685/modbus,wablair/libmodbus,hmoraes/libmodbus,wysman/libmodbus,cukier/libmodbus,xtypebee/libmodbus,sstiller/libmodbus,SystemTera/libmodbus,dhruvvyas90/libmodbus,xtypebee/libmodbus,chenzhouneng/libmodbus,poulacou/libmodbus,marinbek/libmodbus,hmoraes/libmodbus,sdwuyawen/libmodbus,chenzhouneng/libmodbus,stephane/libmodbus,xtypebee/libmodbus,chenzhouneng/libmodbus,stephane/libmodbus,OliverDDS/libmodbus,sureforce/new,sstiller/libmodbus,charlie-x/libmodbus,vb2685/modbus,mhei/libmodbus,SystemTera/libmodbus,sdwuyawen/libmodbus,marinbek/libmodbus,itiserik/libmodbus,cmcmurrough/libmodbus,itiserik/libmodbus,wablair/libmodbus,itiserik/libmodbus,charlie-x/libmodbus,wysman/libmodbus,wysman/libmodbus,sureforce/new,cmcmurrough/libmodbus,poulacou/libmodbus,poulacou/libmodbus,marinbek/libmodbus,hmoraes/libmodbus,killdaclick/libmodbus