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.

SPI接收数据程序



请各位专家看看我下面的程序有错误吗,好像SPI接收不到数据

unsigned char receive()
{
  unsigned char GetKeyValue=0x00;  //键盘代码
  unsigned char Command=0x00E0; //读取键值命令

while(Spi_TxReady() == 0);
GpioDataRegs.GPADAT.bit.GPIO15=0; //片选打开
SpibRegs.SPITXBUF = Command;
while(Spi_TxReady() == 0);
GpioDataRegs.GPADAT.bit.GPIO15=1; //关闭片选

/while(Spi_TxReady() == 0); 
GpioDataRegs.GPADAT.bit.GPIO15=0; //命令开始
SpibRegs.SPITXBUF = 0x0000;    //任意发送一个字符
while(Spi_TxReady() == 0);
GpioDataRegs.GPADAT.bit.GPIO15=1;

GpioDataRegs.GPADAT.bit.GPIO15=0;
GetKeyValue = SpibRegs.SPIRXBUF; //接收数据

return(GetKeyValue);

}

请问程序照上面所说有什么问题,接收不到数据

  • 楼主最好把具体情况描述详细一点:如你的SPI是如何配置的,是否使能了LOOPBACK功能?收不到数据断点调试的话,程序停在哪个位置?

    可以先用TI的例程确认一下你的配置和硬件是否有问题。