尊敬的 TI 支持团队:
当 SPI 节点处于从模式时、如何监控 CS 状态?
背景信息:
我们实现了一个具有2个 SPI 节点的通信系统。 一个作为从器件运行、另一个作为主器件运行。 两个节点连接到同一个外部器件。
我们当前的目标是停止主节点上的数据传输、同时在从节点上同时接收数据。 我们不能对接收节点使用多缓冲。
此致、
Thorben
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.
尊敬的 TI 支持团队:
当 SPI 节点处于从模式时、如何监控 CS 状态?
背景信息:
我们实现了一个具有2个 SPI 节点的通信系统。 一个作为从器件运行、另一个作为主器件运行。 两个节点连接到同一个外部器件。
我们当前的目标是停止主节点上的数据传输、同时在从节点上同时接收数据。 我们不能对接收节点使用多缓冲。
此致、
Thorben
尊敬的 Thorben:
实际上、应用程序不需要 CS 即可从从器件发送数据。
它将按以下方式工作、
请考虑轮询模式示例传输功能。
第一个字节将直接写入 从 SPI 器件的 DAT1寄存器中、 但在主芯片选择从器件并提供时钟之前这些数据不会传输到主器件、因此、一旦主芯片选择从器件并提供时钟主器件和从器件将以全双工模式交换数据。 一旦从器件从主器件接收到其第一个数据 、RXINTFLG 标志将在从器件侧被置位、这就是上述代码轮询第8位将被置位的原因。
设置该位后、从器件会将从主器件接收到的第一个数据复制到缓冲区中、并再次向主器件发送另一个数据、该操作将继续进行。
因此、我们只需要提供缓冲区起始地址、以及需要发送到该变量的数据数量。
我在此附上一个示例从代码、请仔细查看。
在本例中、我将从从器件向主器件发送和接收126个16位数据。
--
谢谢。此致、
Jagadish。