你好!C6000 MCBSP作为SPI模式使用时的收发函数像(查询寄存器的XRDY和RRDY位)下面这样写时,发送的数据就不对。
uint8 IINCHIP_SpiSendData(uint8 byte)
{
uint8 SPIRXD;
while(MCBSP_xrdy(hMcbsp0) == 0); //Wait until XRDY=1, then data is tramsmitted
MCBSP_write(hMcbsp0,byte);
while(MCBSP_rrdy(hMcbsp0) == 0); //Wait until data is received
SPIRXD = MCBSP_read(hMcbsp0);
return SPIRXD;
}
而把接收的那部分代码去掉后,发送的功能就是正常的。如下:
void IINCHIP_SpiSendData(uint8 byte)
{
while(MCBSP_xrdy(hMcbsp0) == 0); //Wait until XRDY=1, then data is tramsmitted
MCBSP_write(hMcbsp0,byte);
}
麻烦帮我看一下这是为什么?是接收部分写的不对吗?还是哪里没配置好?谢谢1