【问题标题】:How to set a baud rate to 10400 [closed]如何将波特率设置为 10400 [关闭]
【发布时间】:2010-01-22 15:22:12
【问题描述】:

是否可以将波特率设置为 10400? (使用 .Net)

【问题讨论】:

  • 使用正确的硬件和设备驱动程序,是的,没问题。标准的 Windows 设备驱动程序会让你大吃一惊。
  • @EFraim:在典型的 .Net 环境中,除了串行端口之外,您还能设置什么波特率
  • @Bandi-T:随便。参见波特率的定义。串行端口也不是天生平等的。其中一些是由用户空间驱动程序实现的。

标签: .net serial-port communication baud-rate


【解决方案1】:

你不需要这个。相信我。即使你认为你有,你也没有。

【讨论】:

  • 对于我们这些好奇的人来说,多一点上下文会很好...... =)
  • Google 搜索 10400 波特的结果是指向提及 OBD-II 的文档的链接,该协议是与汽车中的嵌入式计算机进行通信的协议。例如,请参阅此链接:andywhittaker.com/ECU/OBDIISoftware/tabid/69/language/en-GB/…
  • 把这个输入谷歌做得很好。但我会以 20 年摆弄各种串行电路的经验打败你:你需要一个能处理怪异波特率的端口芯片。这意味着大约 100% 的所有 .NET PC 中的普通 FIFO 将无法提供波特率。所以你需要一个适配器。我向你保证,这款转换器可以与任何现成的串行芯片一起使用(或使用 USB 模拟相同的芯片)。
  • 因此你一开始是对的——我只是提供了参考以回应 Erik Forbes。 (对不起,我没有说清楚我的回复不是针对你的。)
【解决方案2】:

您是否检查过 .NET SerialPort 类 documentation - 波特率是构造函数参数之一。

也就是说,标准波特率通常被认为是:

110, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 56000, 57600 & 115200

...所以您的串行硬件很多不支持您尝试使用的有点奇怪的速率。

【讨论】:

    【解决方案3】:

    标准 RS-232 UART 的波特率只能设置为 115200 的除数。 115200 不能除以 10400。最接近的除数是 11,这将为您提供 ~10472.72727272 波特。 您可以通过直接向串行端口发出IOCTL 来设置此速率。

    【讨论】:

      【解决方案4】:

      直接的答案是肯定的。如果您暗示另一个问题(它会起作用吗?)我认为您需要尝试一下。

      Dim mySP As New IO.Ports.SerialPort
      mySP.BaudRate = 10400
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-24
        • 2013-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多