我通过SPI + DMA使用HAL将10个字节从主设备传输到从设备。如何检查接收器当时有多少字节,如果还没有收到所有10个字节,则再次停止该过程。因为发送10个字节后的主设备应该从slave获得一个答案,但如果从设备没有收到完整的字节,它会等待并且系统进入无差别.......
任何想法??
答案 0 :(得分:0)
“我正在使用HAL通过SPI + DMA将10个字节从主设备传输到从设备。” 由于您使用DMA,因此只需将传输大小配置为DMA接收器API并启用DMA中断。当DMA接收10个字节时,DMA接收器完全中断将到达,除了发送器传输少于10个字节。
“因为发送10个字节后的主设备应该从从设备获得一个答案,但如果从设备没有收到完整的字节,它会等待,系统会无关紧要.......” 您可以通过在从属端使用超时机制来解决此问题。