根据我使用SPI从机的应验,如果您使用的是从机中断的方式去读取主机发送过来的数据,那么一定会有小概率的出错问题,当从机处理事物比较多,而且有高优先级中断时且用时较多时(比SPI中断高),那么就会出现,从机在执行高优先级中断事物,还没有来的及响应SPI中断读取数据,SPI主机就已经发送下一个数据了,产生数据覆盖现象。虽然这是一个小概率事件,但在高可靠性的传输中也是不能出现的。为了防治发生数据覆盖现象,最通常的方法就是增加SPI握手信号。这势必增加了硬件链路的开销,“鱼与熊掌”是也。如果从机执行任务单一且没有设置更高优先级的中断,自然不必多此一举了! |
|