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:SPI 外部环回示例:从器件如何发送响应?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1409518/tms320f28p650dk-spi-external-loopback-example-how-does-slave-send-response

器件型号:TMS320F28P650DK

工具与软件:

您好!
我目前正在尝试 spi_ex4_external_loopback_fifo_interrupt.c、想知道如何使用从器件在主器件请求后发送响应。
在附加的图像中、从器件(蓝色)与主器件同时发送。




主器件完成后(即仍在相同的芯片选择状态)从器件如何发送?

我会非常感谢任何帮助:)

(我已将示例代码精简为最重要的内容)

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//#############################################################################
//
// FILE: spi_ex4_external_loopback_fifo_interrupt.c
//
// TITLE: SPI Digital Loopback with FIFO Interrupts
//
//! \addtogroup driver_example_list
//! <h1>SPI Digital External Loopback with FIFO Interrupts</h1>
//!
//! This program uses the external loopback between two SPI modules. Both
//! the SPI FIFOs and their interrupts are used. SPIA is configured as a peripheral
//! and receives data from SPI B which is configured as a controller.
//!
//! A stream of data is sent and then compared to the received stream.
//! The sent data looks like this: \n
//! 0000 0001 \n
//! 0001 0002 \n
//! 0002 0003 \n
//! .... \n
//! FFFE FFFF \n
//! FFFF 0000 \n
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


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

    您好!

    SPI 是一种同步全双工通信、要求控制器和目标同时进行发送和接收。 为什么要引入延迟? 这实际上会对 SPI 协议产生负面影响、并导致错误的读取和写入。 您可以查看 SPI EEPROM 示例、了解如何在非外部环回中实现协议。  

    此致、

    Aishwarya.

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

    理解问题:主设备需要一段信息、将芯片选择拉至低电平并发送从设备知道的定义序列(例如、前3位作为 ID)。 然后、从器件发送该信息。 主器件何时收到该请求的信息? 选择中选择串行时?

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

    我希望它是这样的:

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

    您好!

    让我和其他人办理登机手续、并在2-3天内给您回复。

    此致、

    Aishwarya.

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

    您好!

    非常感谢

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

    您好!

    SPI 硬件同时发送/接收数据。 如果您想按照提供的屏幕截图所示执行操作、唯一的方法是通过软件。 具体来说、您可以让控制器读取外设虚拟数据、然后保存下一次传输的数据。 我们没有关于这方面的任何示例。

    此致、

    Aishwarya.

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

    您好!

    非常感谢您的努力。

    这意味着我必须使用位拆裂来执行它。  或者:这也许可以通过外部 SPI 硬件来完成吗? 您能建议什么吗?

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

    您好!

    除了上述建议、 我建议您查看可能已经讨论过类似内容的其他 E2E 主题。 希望这对您有所帮助。

    此致、

    Aishwarya.

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

    您好!
    好的, 非常感谢你的帮助:)

    祝你度过美好的一天