有那位大哥可以帮我看看这个LRC的较验码错在那里,为什么我在用Modbus协议发送数据时有时是可以有时是不可以的。 public string LRC(string str)
        {
            int d_lrc = 0;
            string h_lrc = "";
            int l = str.Length;
            for (int c =1; c < l; c = c + 2)
            {
                string c_data = str.Substring(c, 2);
                d_lrc = d_lrc + Convert.ToInt32(c_data,16);
            }
            d_lrc = d_lrc % 0xff;
            d_lrc = ~d_lrc;
            d_lrc = d_lrc + 1;
            h_lrc=Convert.ToString( d_lrc ,16);
            if (h_lrc.Length < 2)
                return h_lrc.ToUpper();
            return h_lrc.Substring(h_lrc.Length - 2, 2).ToUpper();
        }参数的格式是 :0106210000...