请各位专家看看我下面的程序有错误吗,好像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);
}
请问程序照上面所说有什么问题,接收不到数据
Johnson Chen1:
楼主最好把具体情况描述详细一点:如你的SPI是如何配置的,是否使能了LOOPBACK功能?收不到数据断点调试的话,程序停在哪个位置?
可以先用TI的例程确认一下你的配置和硬件是否有问题。
TI中文支持网





