>

您当前的位置:主页 > bt365体育投注365 >

使用spi协议从slave接收数据之前写入0xff的原因

发布时间:2019-04-30 03:06编辑:365bet指定开户网址阅读(

    今天,当我第一次在传出更改记录中写入0xff时,我问为什么我使用spiIP来接收数据。
    我有一段时间愚蠢,我留了下来。
    其实我不知道原因。我知道在接收时写入0xff会导致错误。
    我在使用spiIP内核编写闪存芯片时使用过这个问题。当我看到spiIP代码和代码时,我不认为在阅读时我必须在更改日志中写入0xff。
    但是,您可能无法始终收到正确的数据。此时另一个6月2日,我让他在再次读取之前将0xff写入移位寄存器。
    我在6月2日遵循了这个陈述,结果是读写都是正确的,所以我没有深入研究上一期。
    今天,他们问我,我不知道如何回应。
    他让我知道这是什么。
    即使您查看spiIP内核,写入此0xff似乎对数据接收没有影响,因此问题出现在spi应用程序级别,而不是spiIP内核的发送/接收逻辑。
    应用程序级别发生了什么?
    spiIP内核还在接收时通过mosi在移位寄存器中发送数据。从机通过ISO向主机发送数据,并接收mastermosi数据。
    由于SPI协议中没有反馈信号,因此如果接收到的数据是命令,则在发送数据时,从器件会被从器件的值识别,然后影响从器件。
    虽然使用新命令执行此从站,但此命令是意外发送到从站数据接收的主站,而不是自身。
    要解决主机在接收数据时发送命令的问题,在接收数据之前在移位寄存器中输入0xff。
    这种从主站到从站的传输,0xff传输从从站接收数据,从站不识别0xff的自然格式这个命令不影响它自己的操作。
    我说了很多,现在你会发送它们,你不必写0xff,对吗?
    是的,每次收到数据时,它都会进入移位寄存器并写入从机无法识别的数据。