我想将数据从UDP服务器发送到UDP客户端。服务器具有公共 IP 并且正在侦听已知端口号,因此客户端可以使用 UDP 向服务器发送数据,但客户端位于 NAT 之后并且客户端未侦听已知端口。服务器无法在需要时向客户端发送数据。客户端是否可以联系服务器并且服务器可以使用客户端网关的端口和公共地址进行重播?
有没有什么好的方法可以将数据从 UDP 服务器发送到 NAT 后面的 UDP 客户端?
我想从i2c slave读取,需要多次启动操作才能读取其寄存器值.
在某种程度上,我已经在Linux内核3.18.21中跟踪了I2C驱动程序,我发现它不支持多启动操作,我无法读取此I2C从设备(以太网供电管理器PD69104B1).
如果需要这个i2c从站或其他任何需要,我仍然可以找到扩展驱动程序的方法.
我使用i2c-tools 3.2.1.我试着
$ i2cdump -y 0 0x20
Run Code Online (Sandbox Code Playgroud)
但我可以看到相同的值,这意味着它每次都会读取第一个寄存器.
$ i2cget -y 0 0x20 0x12
Run Code Online (Sandbox Code Playgroud)
或任何其他寄存器地址返回与第一个寄存器相同的值.
这个slave支持两个读操作:
我尝试了所有可能的方法:
i2c_smbus_access()i2c_smbus_write_byte()i2c_smbus_read_block_data()write()read()但是大部分时间i2c总线都会进入超时错误并挂起情况.
任何人都知道如何在Linux中实现这一目标?
这个I2C从器件需要独特的读周期:
方向改变:S Addr Wr [A] RegAddress [A] S Addr Rd [A] [RegValue] P
简短阅读:S Addr Rd [A] [RegValue] P.
这里从i2c slave返回的最后一个值不期望ACK.
我尝试使用I2C_M_NO_RD_ACK但没有多大帮助.我读了一些值,然后得到FF.
这个POE I2C从器件在SCL上有超过14ms的i2c时间,这有点让人怀疑.这看起来像i2c非标准,因为i2c可以在0HZ上工作,即SCL可以被主人拉伸,只要它想要.Linux绝对不是实时操作系统,因此无法保证实现此时间,并且可能会发生i2c slave SCL超时复位.这就是我目前的结论!
使用的I2C消息表示法来自:https: //www.kernel.org/doc/Documentation/i2c/i2c-protocol
我们最终得到了 2 个不同历史的不同 repo,因为两个人开始了他们自己的 repo,现在是时候合并了。
启动代码相同,只有两个不同的 git init 和 remote。
所以条件是开发人员 D1 开始,他的回购是:
开始-> A->B->C->
开发人员 D2 开始了,他的 repo 是:
开始->Z->Y->X->
现在,希望为两个 repo 拉取公共分支,以便它们可以合并自己的分支以进行新的工作。
他们的工作大多是分开的,有一些可以手动解决的小冲突。
什么命令或进程应该是最好的?
我有四个分支让我们说ABC D.
我在分支B上工作了一些功能并创建了藏匿处.
这个功能我也想在分支A和D中.
有没有什么方法可以使用这个来自B的存储并且也适用于A和D而且我也希望它也能在B上使用,这就是为什么我不想立即提交并去寻找藏匿处.