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.

[参考译文] SK-AM62A-LP:SPI 通信

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1520119/sk-am62a-lp-spi-communication

器件型号:SK-AM62A-LP

工具/软件:

大家好:  

我正在运行 SPI 驱动程序的测试应用程序 版本 9.0.1 在 AM62A-LP SOC 的 R5 内核上附加代码和配置

  • 配置:
  • 测试代码:

  • SPI 总线上的输出:
  • DBG_rxbuffer 调试器中的值:{0x00、0x00、0x34、0x00、0x80、0x80、0x94、0x00}与 SPI 总线上的数据匹配

问题是当我将数据宽度更改为 16、而不是的值 8 时  DBG_rxbuffer  与 SPI 总线上的实际数据不匹配。
请检查该器件的修改:

  • 配置:  
  • 测试代码:

  • SPI 总线上的输出:
  • DBG_rxbuffer  调试器中的值:{0x0000、0x3400、0x3400、0x3400}、但这与我们在 SPI 总线上看到的值不匹配。

您能在这个问题上提供支持吗?  

提前感谢

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

    您好、

    在我查看代码时、可以看到在第二种情况下、您已声明 uint8 缓冲区、而对于 API 调用 uint8 缓冲区、您键入将其强制转换为 Spi_Setup 本身。

    但对于 uint16 情况、我认为您将其类型转换为 uint8、这应该会引起问题吗? 您能检查一下、对其进行相应配置并进行检查吗?

    此致、

    Vaibhav

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

    感谢您的支持。

    以下是该函数的原型:  

    此外 Spi_Data 缓冲类型  定义为 uint8、那么两个 TX/RX 缓冲区都定义为指向 uint8 的指针、那么如果我没有进行此转换、这将是隐式完成的、但通过我尝试此试用的方式、它没有任何影响。

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

    您好、

    您能告诉我是否为您的传输启用了 DMA 吗?

    此致、

    Vaibhav

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

    尊敬的  Vaibhav:  

    未启用 DMA

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

    您好、

    谢谢您让我知道。

    此致、

    Vaibhav

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

    您好、Vaibhav 希望您做得好、

    这一点是否有任何更新?  

    谢谢。

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

    您好、

    感谢您的等待。 我正在查看 MCSPI 的 MCAL 代码并了解 SPI 的初始化方式。 有时请允许我。

    请告诉我设置函数的返回值是否为 E_OK?

    此致、

    Vaibhav

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

    您好、

    它返回 ok、是否有关于此点的任何更新。

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

    你好 Kumar 希望你做得好
    这是一个很好的提醒

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

    尊敬的 Ahmed:

    我正在积极检查这一点、并将在今天结束时告知您。

    此致、  

    Vaibhav

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

    尊敬的 Vaibhav Kumar:感谢您提供的更新。

    您能分享一下该功能的实现方案吗  

    MCAL SW_DELAY
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    /**
     * \brief 此宏读取一个 32 位值、从该值递减一个“1",“,</s>、
     *      并返回该值。 此宏用于验证超时操作。
     *
     * \param  计算  要递减的值。
     *
     * \return 通过减量获得的无符号 32 位值。
     */
    #define MCAL SW_DELAY (count)  (count =(count - 1U))
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Vaibhav Kumar

    问题已解决。

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

    尊敬的 Ahmed:

    很高兴我能帮你。

    标记螺纹已关闭。

    还建议切换到最新的 MCAL 版本、以便能够在具有上述及其他错误修复的代码库上运行。

    此致、

    Vaibhav