首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >统一与串口通信问题

统一与串口通信问题
EN

Stack Overflow用户
提问于 2022-11-30 19:42:18
回答 1查看 23关注 0票数 0

我有个奇怪的问题发生在一起。我以前使用过串行通信,但是这个新项目有一些额外的场景。

下面是一个概要的执行版本:

代码语言:javascript
复制
  IEnumerator executecarousel()
    {
        SerialPort _serialPort = new SerialPort();
        _serialPort.PortName = portprefix + carouselPortNum;
        _serialPort.BaudRate = 19200;
        _serialPort.DataBits = 8;
        _serialPort.StopBits = StopBits.One;
        _serialPort.ReadTimeout = 500;
        _serialPort.WriteTimeout = 500;

        byte[] carouselposition = byteStringToByteArray(carouselString);

        _serialPort.Open();
        yield return new WaitForSeconds(1);
        _serialPort.Write(carouselposition, 0, carouselposition.Length);
        yield return new WaitForSeconds(1);
        byte[] executeCommand = byteStringToByteArray(executeString);
        _serialPort.Write(executeCommand, 0, executeCommand.Length);
        yield return new WaitForSeconds(1);
    }

当byte[]正好是8个字节时,我可以得到我想要的结果。如果它是任何其他大小,则命令不能正确通过。

示例

代码语言:javascript
复制
var carouselposition =:

"01 10 01 94 00 02 04 00 00 4C 90 C2 0C" -> Does not work
"01 05 00 C1 FF 00 DD C6" -> Does work
"90 06 05 01 03 03" -> Does not work

我的问题:

experienced?

  • If,
  1. ,这是其他人所拥有的东西吗?那么,这里有工作吗?

我可以建立一个微型服务,并调用它,但这是一个触摸笨重的项目,我正在工作。如果你碰巧知道我如何使这个工作,而不构建一个单独的组件,以附加统一,这将是非常感谢。

除byte[].Length大于或小于8外,一切正常工作,否则一切正常。

我试图添加更多的零。

我已经尝试将单个命令切割成8个字节段并发送。

我使用的是一个PLC,我没有权限更改接收命令的方式,所以这不是一个选项。

如果它不能被修复,我还有其他的工作来完成这个工作。如果有人碰巧知道这件事,我会省点时间的。

谢谢你的进阶!

EN

回答 1

Stack Overflow用户

发布于 2022-11-30 21:22:04

也许您可以尝试删除行_serialPort.DataBits = 8;

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

https://stackoverflow.com/questions/74633323

复制
相关文章

相似问题

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