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.

TMS320F280049: SPI 无法发送数据

Part Number: TMS320F280049
Other Parts Discussed in Thread: ADS131M06

MCU SPI能输出时钟信号,SOMI能接收外部输入信号,但是SIMO无输出信号,一直为0

IO映射:

RESET :GPIO56

DRDY   :GPIO27

SCLK    :GPIO26

SOMI    :GPIO31

SIMO    :GPIO30

SPI从设备为ads131m06,不管mcu发出什么数据,SIMO上捕获到的数据总是0.

将GPIO30配置为普通IO,可以控制其高低电平。

请帮忙看看是哪里出了问题

初始化SPI代码:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void SPI_Initialize(void)
{
SpibRegs.SPICCR.bit.SPISWRESET = 0; //spi reset to configuration mode
SpibRegs.SPICCR.bit.CLKPOLARITY = 0; //DOut on falling Edge,Din on rising Edge
SpibRegs.SPICCR.bit.SPICHAR = (8-1); //16-bit word
SpibRegs.SPICCR.bit.SPILBK = 0; //loopback disabled
SpibRegs.SPICTL.bit.MASTER_SLAVE = 1; //Master
SpibRegs.SPICTL.bit.TALK = 1; //Transmit Enable
SpibRegs.SPICTL.bit.CLK_PHASE = 0; //normal clocking scheme,no delaying
SpibRegs.SPICTL.bit.SPIINTENA = 0; //Interrupt Disable
SpibRegs.SPIBRR.bit.SPI_BIT_RATE = SPI_BRR; //500kbps
SpibRegs.SPIPRI.bit.FREE = 1; //Halting on a breakpoint will not halt the SPI
DELAY_US(10);
//b15,SPIRST =1,resume FIFO to transmit or receive
//b14,SPIFFENA =1,enable FIFO
//b13,TXFIFO =1,release TX FIFO from reset
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX