Sn_TTL (Socket IP生存时间寄存器) [R/W] [0x0016] [0x80]
该寄存器设置在 IP 层里 IP 头的 TTL(Time-To-Live – 生存时间) 字段。它应在执行
OPEN 命令之前设置。请参考USn_RXBUF_SIZE (Socket n接收缓存大小寄存器- Socket n RX Buffer Size Register) [R/W] [0x001E] [0x02]
Sn_RXBUF_SIZE 配置了 Socket n 的接收缓存大小。Socket n 接收缓存区大小可以配置 为 1,2,4,8 和 16Kbytes。如果配置为其他大小,则 W5500 不能正常的从对方主机接 收数据。
即使 Socket n 的 接收 缓存 大 小初始 默认为 2Kbytes 。 用户仍 然可 以 使用 Sn_RXBUF_SIZE 重新定义。但是所有 Socket 接收缓存(Sn_RXBUF_SIZE)的总大小不能 超过 16Kbytes。否则,将会使得接收异常。
当 所 有 的 Sn_RXBUF_SIZE 配 置 完 成 后 , 就 会 按 照 Socket 0 到 7 的 顺 序 依 次 将
16Kbytes 的接收内存分配给各个 Socket 作为接收缓存使用。
不论 Socket n 的接收缓存配置的大小如何,都可以被 16 位的偏移地址寻址找到。(寻 址范围:0×0000 到 0xFFFF)
例)Socket 0 RX Buffer Size = 8KB
Sn_TXBUF_SIZE (Socket n发送缓存大小寄存器) [R/W] [0x001F] [0x02]
Sn_TXBUF_SIZE 配置了 Socket n 的发送缓存大小。Socket n 发送缓存区大小可 以配置为 1,2,4,8 和 16Kbytes。如果配置为其他大小,则 W5500 不能正常给对 方主机发送数据。
即使 Socket n 的 发送 缓 存 大小 初始默 认 为 2Kbytes 。用 户 仍然 可以使用 Sn_RXBUF_SIZE 重新定义。但是所有 Socket 发送缓存的总大小不能超过 16Kbytes。 否则,将会使得发送异常。
当所有的 Sn_TXBUF_SIZE 配置完成后,就会按照 Socket 0 到 7 的顺序依次将
16Kbytes 的发送内存分配给各个 Socket 作为发送缓存使用。
不论 Socket n 的接发送存配置的大小如何,都可以被 16 位的偏移地址寻址找到。
(寻址范围:0×0000 到 0xFFFF)
例) Socket 0 TX Buffer Size = 4KB
Sn_TX_FSR (Socket n空闲发送缓存寄存器) [R] [0x0020-0x0021] [0x0800]
Sn_TX_FSR 显 示了 Socket n 发送缓 存的 空闲空 间 大小。 该寄存 器初 始化 配 置为 Sn_TXBUF_SIZE 大小。当传输数据比 Sn_TX_FSR 大时,将不能保存到 Socket n 的发送 缓存中。因为多出来的数据会覆盖之前未传输完成的数据。因此在向 Socket n 发送缓 保存数据之前,需要先检查一下数据大小是否等于或小于其剩余空间,然后再保存数据 到发送缓存并通过 SEND/SEND_MAC 配置命令发送。如果数据比检查到的剩余空间大, 需要将数据划分成小于或等于剩余空间的大小之后,再保存数据到 Socket n 发送缓存。
如果 Sn_MR(P[3:0])不是 TCP 模式(‘0001’),W5500 将计算发送写指针(Sn_TX_WR)和
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/dianqi/article-40499-3.html
小子人太狂了要付出代价的
当老师的说的都是美好的
杨洋