首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >串行端口。write not working c# compact Framwrork2.0

串行端口。write not working c# compact Framwrork2.0
EN

Stack Overflow用户
提问于 2014-07-30 21:29:39
回答 1查看 567关注 0票数 0

我正在尝试为通过RS232连接到计算机的设备写入命令,但似乎没有成功写入命令,请帮助。

我的代码

代码语言:javascript
复制
char stx = (char)0x02;
char etx = (char)0x03;
char data = '2';
char lrc = CalculateLRC(data.ToString() + etx.ToString());
char[] outputBuffer = {stx, data, etx, lrc };
mySerialPort.Write(outputBuffer, 0, outputBuffer.Length);

方法

代码语言:javascript
复制
public static char CalculateLRC(string toEncode)
        {
            byte[] bytes = Encoding.ASCII.GetBytes(toEncode);
            byte LRC = 0;
            for (int i = 0; i < bytes.Length; i++)
            {
                LRC ^= bytes[i];
            }
            return Convert.ToChar(LRC);
        }
EN

回答 1

Stack Overflow用户

发布于 2015-06-23 16:57:39

纵向冗余校验(LRC)是不包括STX和ETX的所有数据字节的异或(XOR)。在您的代码中,CalculateLRC包含ETX的代码行是错误的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25038151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档