大家好、
以下是客户提出的问题、可能需要您的帮助:
关于上述文档中的示例、客户有以下2个问题:
1) 1) 该程序实际希望传输多少字节的数据、2000字节或?
2) 3 txBuff 和2 rxBuff 之间的关系是什么? TxBuff1\2\3每个点指向一个单独的内存?
或者 txBuff1/txbuff2既是 存储器段的开头,又是 txbuff3是存储器段的中间?
您可以帮助检查此案例吗? 谢谢。
此致、
樱桃
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.
大家好、
以下是客户提出的问题、可能需要您的帮助:
关于上述文档中的示例、客户有以下2个问题:
1) 1) 该程序实际希望传输多少字节的数据、2000字节或?
2) 3 txBuff 和2 rxBuff 之间的关系是什么? TxBuff1\2\3每个点指向一个单独的内存?
或者 txBuff1/txbuff2既是 存储器段的开头,又是 txbuff3是存储器段的中间?
您可以帮助检查此案例吗? 谢谢。
此致、
樱桃
Howdy Cherry、
我将回答此代码中的以下问题。 只是为了确保它们位于同一页上。
// SPI already opened in callback mode
SPI_Transaction t0, t1, t2;
t0.txBuf = txBuff0;
t0.rxBuf = rxBuff0;
t0.count = 2000;
t1.txBuf = txBuff1;
t1.rxBuf = rxBuff1;
t1.count = 1000;
t2.txBuf = txBuff2;
t2.rxBuf = NULL;
t2.count = 1000;
bool transferOk = false;
if (SPI_transfer(spiHandle, &t0)) {
if (SPI_transfer(spiHandle, &t1)) {
transferOk = SPI_transfer(spiHandle, &t2);
}
}
}
在此代码中、创建结构 SPI_Transactions 的3个实例 t0、t1和 t2。 每个结构具有以下变量。 链接
size_t count void * txBuf void * rxBuf void * arg SPI_Status status void * nextPtr
1) t0.count 设置为2000。 这意味着在传输2000帧之前、SPI_Transfer (spiHandle、&t0)不会返回1或完成。 传输的字节数最终取决于缓冲器的帧大小、即8位、16位或32位。
2.)txBuff1、2、3都是各自 在内存中的独立缓冲区、已分配给每个 TX.buff 变量。
我希望这对您有所帮助、
Rogelio
您好、 Rogelio、
感谢您的支持。
[引用 userid="496057" URL"~/support/wireless-connectivity/wi-fi-group/wi-fi-fi-fi-forume/1122670/cc3220sf-how -byte-of-data-byte-cand-ce-by-by-by-by-by-by-by-by-by-by-by-by-by-wi-spi-slave"]1) 此程序实际上希望传输多少字节数据或引用2000字节数据[或引用2000字节?]例如、SPI 帧大小设置为 8位、即 1个字节。 那么、该程序会发送多少个字节或帧?
此外、SPI_Transactions 的第一个实例 t0的计数值设置为2000、已超过1024字节。 它是否仍能正常工作?
谢谢、此致、
樱桃
您好、Cherry、
是的、由于 DMA 在乒乓模式下工作、它仍然可以工作。

以队列的方式处理4000字节。 第一个2000年将来自 SPI 事务 T0、来自 T1的1000、来自 T2的另一个1000。
此致、
Rogelio