线程中讨论的其他部件:TMS320F2.8335万,
大家好,
我正在尝试通过SPI将一些数据从TMS320F2.8335万 DSP发送到TLV5630 DAC。 我正在向DAC发送正确的信号。 我已经检查了MOSI,SCLK,FS引脚,它们应该按其应有的方式工作。 现在,我已经从数据表中设置了var1 (在下面的代码中),以便在通道B中获取模拟数据, 但我在通道C上获取数据。仅当我提供0x0000时,我才在通道A上获取实际数据。否则,我在错误的通道中获取正确的数据。 有人能告诉我,我在选择频道时犯了什么错误吗? 下面是我的初始化和方法。
daco =(Vref*5);//一些正弦数据点
VAR1 = 0x1000;
SDATA1 = var1|daco;
void spi_init()
{
SpiaRegs.SPICCR.ALL =0x000F;//重置打开,上升边缘,16位字符位
SpiaRegs.SPICTL.ALL =0x0006;//启用主模式,正常相位,
//启用通话,SPI int禁用。
SpiaRegs.SPIBRR =0x0014;
SpiaRegs.SPICCR.ALL =0x009F;//从重置放弃SPI
SpiaRegs.SPIPRI.Bit.free = 1;//设置断点以使xmission不受干扰
}
void spi_fifo_init()
{
//初始化SPI FIFO寄存器
SpiaRegs.SPIFFTX.All=0xE040;
SpiaRegs.SPIFFRX.all=0x204f;
SpiaRegs.SPIFFCT.All=0x0;
}
空SPI_xmit1(UINT16 A)
{
SpiaRegs.SPITXBUF=A;
L1=1;
L1=2;
L2=L1/2;
GpioDataRegs.GPASET.bit.GPIO30 = 1;
L2=1;
L2 = 2;
GpioDataRegs.GPACLEAR.bit.GPIO30 = 1;
}