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.

[参考译文] TM4C1294NCPDT:在回调模式下运行 SPI

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1190108/tm4c1294ncpdt-run-spi-on-callback-mode

器件型号:TM4C1294NCPDT

大家好、

我想将 SPI 配置为在回调模式下运行、但有时传输失败、我遇到问题  

因此、我需要任何示例代码或文档以正确的方式对其进行配置  

这是我的配置。

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

    您好 Rehab、

    我们没有任何可用的示例代码、但 TI-RTOS 用户指南 的第5.11节中提供了相关的文档:https://www.ti.com/lit/pdf/spruhd4

    此致、

    Ralph Jacobi

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

    大家好、首先感谢您的回复、我看到了此文档、并根据我在上面阅读的内容配置了 SPI  

    但我的问题是、在第一次传输期间使用回调模式时、我认为还有另一个请求传输、因此它失败并中止软件  

    我正在处理2MHz 的比特率、我无法解决此问题、因此请帮我   

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

    您好 Rehab、

    [引用 userid="550718" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1190108/tm4c1294ncpdt-run-spi-on-callback-mode/4487628 #4487628"]我认为还有另一个请求传输,因此它失败并中止软件 

    您能进一步阐述一下吗?

    我对 SPI 的回调模式没有任何背景、因此我在这方面的帮助有时可能会受到限制、但您可以提供的有关系统中发生的情况的详细信息越多、我就能提供指导。

    此致、

    Ralph Jacobi

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

    您好 Jacobi、

    有关更多详细信息、我将使用 SPI 来驱动 TLC LED 驱动器  

    首先、我将 GS 缓冲区和 DC 缓冲区设置为初始值、并将这些缓冲区发送到 SPI、我希望使用回调模式进行 CPU 负载、但我发出了缓冲区并在任务运行用新传输请求触发的回调期间设置回调、所以我要这样做 认为有问题、您能帮我吗?

        

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

    您好 Rehab、

    我真的无法判断这是配置错误还是仅仅是应用问题。 虽然我有时可以帮助调试基本应用、但这非常具体、因此我很难提供帮助。 如果您对 TI-RTOS 配置不正确或 MCU 未正常运行有特殊问题、我可以尝试提供帮助、但我不知道如何针对此"新传输请求"问题提供建议。

    此致、

    Ralph Jacobi

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

    您好 Ralph、

    我认为问题是 SPI 第一次请求另一个请求发生、因此 SPI_tansfer 函数返回 false 或类似的东西、我不确定、但当我使用阻塞模式时、一切正常、数据正确发送、但发现了 CPU 负载  

    那么、您能否提出解决方案、以确保在发送 另一个请求之前传输所有数据   

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

    您好 Rehab、

    然后、您需要调试驱动第二个请求的因素-您是否确定了 SPI 线路的范围、以查看器件之间的通信? 这通常会揭示很多。

    可能有一种方法可以使用互斥量之类的东西来防止在数据传输之前不会访问 SPI。

    此致、

    Ralph Jacobi