本帖最后由 wowangru 于 2018-11-7 13:58 编辑
SPI就像一个环形位移寄存器,本身没有校验。 没有不出错的通讯! 我现在想给SPI增加校验功能。
我如何才知道从机有没有正确接收呢? 从机发的数据主机有没有正确接收呢?
如果要直到是不是非得下一个数据包才能知道? 这样是不是效率会受影响!!
SPI DMA接收完中断是否代表数据已经接收完成全部到了 接收数组?
SPI DMA发送完中断是否代表仅仅缓冲区数据空,但是有字节在位移寄存器里面 没有发送出去,请问有几个字节?假如我是按byte发送,如何解决这种情况呢,是否非得再往spi写入数据才能发送缓冲区剩余的数据? 这样每一帧会多无效的字节,如何解决呢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
我怎么直到接收到的数据是对的? 对方怎么知道我发送的是对的? 假如加了校验加什么样的校验合适? CRC吗 如果校验错了怎么办呢?
从机回传的应该是上一个包的请求吧? 没法做到实时解析实时回传吧?
SPI只管收发数据,保证数据正确是硬件设计和数据处理的事,硬件上保证干扰尽量小,数据处理可以用现成的协议,也可以自己定协议,看具体需求。
CRC错了和数据错了没什么区别,都是错了,错了怎么处理是协议定的,丢掉还是重发,根据具体需求定。
一周热门 更多>