This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2640R2F:清除 SSI Tx FIFO

Guru**** 2589280 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/603528/cc2640r2f-clear-ssi-tx-fifo

器件型号:CC2640R2F

在 CC2640R2上清除 SSI Tx FIFO 的正确方法是什么?

运行 PRCMPeripheralRunDisable/PRCMPeripheralRunEnable清除/复位 CC26xx 驱动程序库以及切换 SS1控制1寄存器(SSI_CR1_SSE)的 SSE 位(位)都不会更改 FIFO 状态。  似乎其他 TI MCU 有一个 SYSCTL 寄存器来复位外设(例如 https://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/t/428094  )。

CC2640R2上是否有用于 SPI 的 SYSCTL?

基本上需要一种从错误情况中恢复的巧妙方法。  我们有示例吗?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    TI-RTOS SPI 驱动程序还会处理执行"取消"操作时的情况。 我建议查看 SPICC26XXDMA 驱动程序、看看它们是如何重新初始化外设的。 我确信、如果有一个巧妙的解决方案、他们会(或应该)做到这一点。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请参阅 SPICC26XXDMA 驱动程序中的 SPICC26XXDMA_flushFifos(),了解如何清空 FIFO。