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.

[参考译文] RTOS/CC2650:SPICC26XXDMA_transfer 不会返回

Guru**** 2551580 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/576081/rtos-cc2650-spicc26xxdma_transfer-does-not-return

器件型号:CC2650

工具/软件:TI-RTOS

我正在为传感器器件创建 SPI 中间件驱动程序。  一直使用"ext_flash.c"作为示例来创建我自己的。

当我开始使用 SPI 函数 SPICC26XXDMA_transfer ()传输数据时,数据被卡住,永远不会返回。

最后一站是线路:

if (!semaphore_pend (semaphore_handle (&(object->transferComplete)))、object->transferTimeout)){
/*如果我们遇到超时,请取消转接*/

由于这是一个写入过程,因此是否应该完成它,无论它是否成功?

我是否错过了一些配置,这会导致此问题?

谢谢

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

    当调用 SPICC26XXDMA_transfer 时、您是否在 SCL 和 MOSI 引脚上看到信号?

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

    发现问题、SPI 器件电源未正确启用、导致 SPI 驱动器传输锁定。

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    欢迎您的到来、最好知道您发现问题所在。