主题中讨论的其他器件: HALCOGEN
您好!
我使用两个 TMS570LS0432电路板进行主从 SPI 通信。
在 Halcogen (版本:40.06.00)新项目窗口中、我选择了系列:TMS57LS04x 和器件:TMS57LS0432PZ
主器件
-
驱动程序启用:选择仅 SPI1驱动程序*
-
SPI1全局选项卡:启用 RxINT
-
SPI1端口选项卡:
-
取消选中 SOMI 方向
-
选择 SPI1 ENA GIO
-
选择 SPI1 SCS[3] GIO
-
选择 SPI1 SCS[2] GIO
-
选择 SPI1 SCS[1] GIO
-
VIM 通道0-31选项卡:启用 MIBSPI 0级和1级中断
从器件
-
驱动程序启用:选择仅 SPI2驱动程序*
-
SPI1全局选项卡:
-
未选中主模式和内部时钟。
-
取消选中 SPI2 SOMI DIRECTION
-
取消选中 SPI2 CLK 方向
-
取消选中 SPI2 SCS[0] DIRECTION
-
使 SPI2 SCS[3] GIO
-
使 SPI2 SCS[2]成为 GIO
-
使 SPI2 SCS[1] GIO
- VIM 通道0-31选项卡:启用 SPI2 0级和1级。
引脚连接
Mater (SPI1) 从器件(SPI2)
J1.7 -> MIBSPI1CLK J10.24 -> SPI2CLK
J10.16 -> MIBSPI1nCS[0] J10.21 --> SPI2CS
J2.6 --> MIBSPI1SIMO J10.23 -> SPI2SIMO
J2.7 --> MIBSPI1SOMI J10.22 -> SPI2SOMI
J10.4 -> GND J10.4 -> GND
我将确保从设备在主设备发送数据之前已就绪。
主器件代码:
#include "sys_common.h"
#include "system.h"
#include "spi.h"
#include "sys_common.h"
/*用户代码开始(1)*/
uint16 TX_Data_Master[16]={0x01、0x02、0x03、0x04、0x05、 0x06、0x07、0x08、0x09、0x0A、 0x0B、0x0C、0x0D、0x0E、0x0F、 0x10};
uint16 RX_Data_Master[16]={0};
//用户代码结束*/
//*用户代码开始(2)*/
void delayms (uint16 ms);
//用户代码结束*/
int main (void)
{
//用户代码开始(3)*
spiDAT1_t 数据通信 fig1_t;
dataconfig1_t.CS_hold = false;
dataconfig1_t.WDEL = true;
dataconfig1_t.DFSEL = SPI_FMT_0;
dataconfig1_t.CSNR = 0xFE;
_enable_IRQ ();
spiInit();
while (1)
{
TransmitAndReceiveData (spiREG1、&dataconfig1_t、16、TX_Data_Master、RX_Data_Master);
delayms(2000);
}
/*用户代码结束*/
}/*
用户代码开始(4)*/
void delayms (uint16ms){volatile
unsigned int delayval;
delayval = ms * 8400;// 8400大约为1ms
while (delayval-);
}/*
用户代码结束*/
从器件代码:
#include "sys_common.h" #include "system.h" #include "spi.h" /*包含文件*/ //*用户代码开始(1)*/ uint16 TX_Data_Slave[16]={0x11、0x12、0x13、0x14、0x15、 0x16、0x17、0x18、0x19、0x1A、 0x1b、0x1C、0x1D、0x1E、0x1F、 0x20}; uint16 RX_Data_Slave[16]={0}; //用户代码结束* / int main (void) { //用户代码开始(3)*/ spiDAT1_t 数据通信 fig1_t; dataconfig1_t.CS_hold = false; dataconfig1_t.WDEL = true; dataconfig1_t.DFSEL = SPI_FMT_0; dataconfig1_t.CSNR = 0xFE; _enable_IRQ (); spiInit(); SendspiAndGetData (spiREG2、&dataconfig1_t、16、TX_Data_Slave、RX_Data_Slave); while (1); //用户代码结束*/ }
我将 CCS 项目与.DIL 和.HCG 文件连接
主控:e2e.ti.com/.../0576.M_5F00_SPI1_5F00_TMS.zip
从属方:

