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.

[参考译文] TMS320F28P650DK:在 BiSS-C 的 CLB 通信例程中、我是否可以使用轮询方法而不是中断函数?

Guru**** 2446770 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1524652/tms320f28p650dk-in-the-clb-communication-routine-of-biss-c-can-i-use-the-polling-method-instead-of-the-interrupt-function

器件型号:TMS320F28P650DK

工具/软件:

尊敬的工程师:   

在移植 BiSS-C 通信项目时、我发现在 RXFIFO 中接收到 2 个数据时触发 SPI 中断。 这背后的考虑因素是什么? 我是否可以修改它以使用轮询方法实现? 此外、该例程是否修复了编码器的单圈数据分辨率?

此致、

林浩南

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

    您好 Lin、

    您对此示例的 CLB 部分是否有任何问题、或者是否希望进行修改? 我通常会回答 CLB 问题、但想知道是否应该邀请 SPI 专家。

    谢谢您、

    Luke

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

    您好 Luke、

    此示例的 CLB 部分可以进行优化。 例如、结构定义太多、但不会影响功能。 我当前正在使用 BiSSc CLB 例程、发现一个问题:CLB 提供 SPICLK、但 SPIRXFIFO 忽略前 8 位、无法接收。

    如果 SPI 在 SPICLK 的上升沿接收数据、则 I 接收的编码器返回数据应为 0x8777、0xBBB7、0x3BBF、0x3466。

    然而、SPIFIFO[0]= 0x77BB、SPIFO[1]= 0xB73B、SPIFO[2]= 0xBF34、SPIFIFO[3]= 0x6600。








    SPI 数据为 14 位、并根据例程执行配置:

    在程序中、我不使用中断、而是在接下来的 62.5us 周期内接收数据。 SPIPTE 由外部 GPIO 输入、并保持低电平。

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

    您好 Lin、

    让我明天再回到您的身边。 谢谢。

    此致、

    Aishwarya

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

    LIN、

    我无法评论为什么特别选择 在接收到 2 个数据帧时触发 SPI 中断、但应用代码中可能有某种东西可以帮助确定这一点。

    您肯定可以对 SPI 使用轮询方法、只需手动轮询/清除所有相关的 FIFO 标志。 您可以忽略 RRDY 等常规 SPI 标志

    操作的波形是否正确? 它是否在上升沿接收、CS 正常激活等?  

    如果您要发送 14 位数据、则需要 相应地向左移位、因为 SPI 始终一次发送/接收 16 位。 driverlib 中有一些相关函数、您可以将其作为起点。  

    此致、

    Aishwarya  

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

    您好 Aishwarya、

    我发现程序中 spififo 接收中断的配置没有注释。 我把它说出来后,它就奏效了。

    感谢你的帮助。

    此致、

    林浩南

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

    LIN、

    很高兴听到它被解决了!

    程序中 spififo 接收中断的配置没有注释

    此外、您能否澄清一下该声明指的是什么(除了注释掉 ISR 之外)、将来查看该主题的任何人?  

    此致、

    Aishwarya