主题中讨论的其他器件:HALCOGEN
您好!
我使用的是 TMS57004 Launchpad。 电流、我正在进行 SPI 通信。 为此、我已经介绍了 Halcogen 示例。 我想使用中断方法在正常(不在 Mibspi)模式(主控模式)下使用 SPI1。
对于 SPI1中断方法、我已经设置了所有参数、正如您在 SPI2从器件示例中提到的那样。
执行所有设置之后
SendspiAndGetData (spiREG1、&dataconfig1_t、2 TX_Data_Master、Rx_Data_Master)
其中 uint8 Tx_Data_Master[2]={0x44、0xAA); Rx_Data_Master[2]={0};
我只正确接收第二个字节 、 第一个字节全部接收。 那么、您能不能告诉任何人我的配置中存在任何错误。
下面是我的示例代码:
int main (空)
{
spiDAT1_t 数据通信 fig1_t;
dataconfig1_t.CS_hold = true;
dataconfig1_t.WDEL = true;
dataconfig1_t.DFSEL = SPI_FMT_1;
dataconfig1_t.CSNR = 0xFC;
/*通过 CPSR 启用 CPU 中断*/
_enable_IRQ ();
spiInit();
while (1)
{
SendspiAndGetData (spiREG1、&dataconfig1_t、2 TX_Data_Master、Rx_Data_Master);
}
返回0;
}
void SendspiAndGetData (spiBASE-t * SPI、spiDAT1_t *数据通信 fu_t、uint32块大小、uint8 * srcbuff、uint8* destbuff)
{
/*用户代码开始(17)*/
/*用户代码结束*/
uint32 index = SPI == spiREG1? 0U:(SPI=spiREG2? 1U:2U);
g_spiPacket_t[index].TX_length =块大小;
g_spiPacket_t[index].rx_length =块大小;
G_spiPacket_t[index].txdata_ptr = srcbuff;
G_spiPacket_t[index].rxdata_ptr = destbuff;
g_spiPacket_t[index].g_spiDataFormat =*数据通信 fap_t;
G_spiPacket_t[index].TX_DATA_STATUS = SPI_PENDING;
G_spiPacket_t[index].Rx_DATA_STATUS = SPI_PENDING;
SPI->INT0 |= 0x0300U;
/*用户代码开始(18)*/
/*用户代码结束*/
}
静态易失性结构 g_spiPacket
{
spiDAT1_t g_spiDataFormat;
uint32 TX_length;
uint32 rx_length;
// uint16 * txdata_ptr;
// uint16 * rxdata_ptr;
uint8 * txdata_ptr;
uint8 * rxdata_ptr;
SpiDataStatus_t TX_DATA_STATUS;
SpiDataStatus_t Rx_DATA_STATUS;
}g_spiPacket_t[3U];
提前谢谢