如相关问题中所述、当 SPI 设置为外设时、无法清除 TX FIFO。 我希望能够让控制器随时通过 SPI 与我的外设通信。 我想使用在芯片选择的上升沿触发的 SPI 空闲中断将 DMA 通道指向要传输的下一组数据。 但是、因为我不知道控制器从外设中读取了多少数据、所以我不知道 FIFO 中是否还有内容。 我被告知需要在每个事务后复位 SPI 外设、以刷新 FIFO、为下一个事务做好准备。
为了将 TX FIFO 清空、以便能够使其进入清除状态、我需要执行的最小"复位"量是多少? 我是否可以仅切换 CTL1中的使能位? 是否需要在 RSTCTL 中设置 RESETASSERT? 我希望尽可能避免重新配置-从尽可能减少潜在的 SPI 停机时间的角度来看、并避免 IO 出现故障等。