Hi @TheSix ,
感谢你联系NXP技术支持!
在master模式下,使能连续传输,会使PCS在帧大小的末尾保持有效,直到接收到开始新帧的命令字为止。也就是说,这时候传输的某一帧是确定的,新的命令字会更新下一帧的传输配置,而不是终止连续传输的作用。
如果当前是连续传输模式,我们想要终止它,那么可以这样做:
1. 等待当前传输帧结束
- 在连续模式(CONT=1)下,LPSPI会一直保持PCS有效,直到当前帧传输完成
2. 在下一个命令字(command word)中设置CONT=0和CONTC=0
- 将CONT=0,确保在当前帧结束后不再保持PCS
- 将CONTC=0,这将终止当前的连续传输,忽略之前CONT的值
3. 写入新的命令字到LPSPI的传输命令寄存器TCR
- 新命令字生效后,当前帧结束,LPSPI不再启动新的传输
4. 轮询状态,确保没有剩余的传输
- 可以检查LPSPI的状态标志和FIFO计数
5. 禁用LPSPI传输,进入空闲状态
Best regards,
Gavin