代码之家  ›  专栏  ›  技术社区  ›  domlao

无法检测串行端口中发送的第一个数据

  •  0
  • domlao  · 技术社区  · 16 年前

    我使用C语言和Linux作为编程平台。我在设置串行端口时遇到问题(/dev/ttys0)。在我的小程序中,我使用tcgetattr和tcsetattr设置串行端口

    options.c_cflag |= B115200;
    options.c_cflag &= ~PARENB;
    options.c_cflag &= ~CSTOPB;
    options.c_cflag &= ~CSIZE;
    options.c_cflag &= ~CRTSCTS;
    options.c_cflag |= CS8;
    options.c_cflag |= (CLOCAL | CREAD);
    options.c_iflag &= ~(IXON | IXOFF | IXANY);
    

    我的问题是,我的应用程序无法获取我发送的第一个数据。我错过了一些价值吗?

    谢谢。

    1 回复  |  直到 16 年前
        1
  •  0
  •   trh178    16 年前

    你的应用程序是否有可能得到你发送的第一件东西,但它在连接/设置的开始就有垃圾,并且没有被正确解析?

    你可以尝试在init之后刷新序列号,或者在init之后发送cr/lf,看看在发送到你的应用程序之前是否清除了问题。