主题中讨论的其他器件: SysConfig、 C2000WARE
您好!
我将学习此微控制器的工作原理、但我在理解如何通过 SPI 正确设置两个 LAUNCHXL-F280049C 之间的通信时遇到问题。
我想使用 FIFO 中断、从主机向从机传输一个包含11个 uint16_t 类型元素的数组。 我的配置和代码如下(我使用的是 SysConfig)。
电路板1 TX ISR (主):

__interrupt void spiTxFIFOISR(){
for(i=0; i< dim; i++){
SPI_writeDataNonBlocking(mySPI0_BASE, data[i]);
}
counter++;
SPI_clearInterruptStatus(mySPI0_BASE, SPI_INT_TXFF);
Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP6);
}
电路板1 SysConfig:

电路板 2 RX ISR (从站):
__interrupt void spiRxFIFOISR(){
for (i = 0; i< dim; i++){
data[i] = SPI_readDataNonBlocking(mySPI0_BASE);
}
counter++;
SPI_clearInterruptStatus(mySPI0_BASE, SPI_INT_RXFF);
Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP6);
}
电路板2 SysConfig:

(请注意、我已经启用并重新映射了 main 的设置部分中的两个中断、这些中断不存在于显示的代码中)
我希望能正确接收我要在从机上发送的数据数组、但我看到的是、同一个数组在每次接收中断迭代时都已损坏。 您能解释一下我做错了什么吗? 我遵循 TI 为 SPI 通信提供的示例、但不明白我的错误在哪里。


左侧是我正在发送的阵列、右侧是我接收的阵列。
提前感谢您 。
此致、
埃多阿尔多