public void BytesToFloatTransferTest( )
        {
            byte[] data = new byte[8];
            ReverseBytesByWord(BitConverter.GetBytes(123.456f), byteTransform.DataFormat).CopyTo(data, 0);
            ReverseBytesByWord(BitConverter.GetBytes(-0.001234f), byteTransform.DataFormat).CopyTo(data, 4);

            float[] array = byteTransform.TransSingle(data, 0, 2);
            Assert.AreEqual <float>(123.456f, array[0]);
            Assert.AreEqual <float>(-0.001234f, array[1]);
        }
Пример #2
0
        /// <summary>
        /// 读取指定地址的float数组
        /// </summary>
        /// <param name="address">起始地址,格式为"1234"</param>
        /// <param name="length">数组长度</param>
        /// <returns>带有成功标志的float数据</returns>
        public OperateResult <float[]> ReadFloat(string address, ushort length)
        {
            OperateResult <byte[]> read = Read(address, (ushort)(length * 2));

            if (!read.IsSuccess)
            {
                return(OperateResult.CreateFailedResult <float[]>(read));
            }
            return(OperateResult.CreateSuccessResult(byteTransform.TransSingle(read.Content, 0, length)));
        }