【问题标题】:Can we configure baud rate in socket class for ethernet communication我们可以在套接字类中为以太网通信配置波特率吗
【发布时间】:2015-04-01 10:21:50
【问题描述】:

我需要将我的电脑以太网端口的波特率配置为 100Mbps。但是在网上搜索后,我找不到在 C# 代码中更改套接字中的波特率的方法。是否可以在 C# 中设置以太网端口的波特率。 我实际上需要在电脑和微控制器之间进行通信。那么如果在单片机中将网口的波特率设置为100Mbps,那么PC的网口的波特率是否也会自动设置为100Mbps呢?

谢谢

【问题讨论】:

  • Autonegotiation: "自动协商是一个以太网过程,通过该过程,两个连接的设备选择共同的传输参数,例如速度、双工模式和流量控制。在这个过程中,连接的设备首先共享它们的能力关于这些参数,然后选择它们都支持的最高性能传输模式。”
  • 现在以太网控制器非常聪明,大多数人都知道如何自动配置速度。在大多数情况下,这根本不重要,因为您连接的是交换机而不是集线器或其他网卡。请记住,100Mbps 不是衡量有效传输速率的标准,不能说“波特率”,以太网通过在随机延迟后自动重试来处理总线冲突。

标签: c# sockets microcontroller ethernet


【解决方案1】:

我认为您的术语和技术有些混淆。听起来您习惯于使用串行连接(如 RS232 或 RS422),其中两个端点必须以相同的方式进行配置。

IP 网络不是这样运行的。在相当现代的交换机上,每个连接的设备都可以有自己的链接速度。因此,一台计算机可以连接 1GBps,另一台计算机可以连接 100MBit,这一切都取决于计算机接口可以处理的内容。

然后,您使用的网络协议应该处理节流、丢失数据包的重新发送等(就像 TCP 一样)。如果你使用 UDP,你要么不关心丢包,要么自己实现这样的机制。

如果您将计算机直接连接到微控制器,那么可以 - 计算机的端口速度也可能是 100MBit。但不能保证。即使有,你怎么知道微控制器实际上能够以最大理论速度处理发送给它的所有数据?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-24
    • 1970-01-01
    • 1970-01-01
    • 2011-07-28
    • 2021-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多