/// <summary>
        /// 读取ASCII字符串,长度为寄存器数量,最终的字符串长度为这个值的2倍
        /// </summary>
        /// <param name="address">起始地址</param>
        /// <param name="length">寄存器长度</param>
        /// <exception cref="IndexOutOfRangeException"></exception>
        /// <returns></returns>
        public string ReadString(ushort address, ushort length)
        {
            string str = string.Empty;

            hybirdLockRegister.Enter( );

            str = byteTransform.TransString(Register, address * 2, length * 2, Encoding.ASCII);

            hybirdLockRegister.Leave( );
            return(str);
        }
Exemplo n.º 2
0
 /// <summary>
 /// 将指定的OperateResult类型转化
 /// </summary>
 /// <param name="result">原始的类型</param>
 /// <param name="byteTransform">数据转换方法</param>
 /// <returns>转化后的类型</returns>
 public static OperateResult <string> GetStringResultFromBytes(OperateResult <byte[]> result, IByteTransform byteTransform)
 {
     return(GetResultFromBytes(result, m => byteTransform.TransString(m, 0, m.Length, Encoding.ASCII)));
 }