ADSP-BF531的SPORT问题求助
*pSPORT1_TCR1 = TCKFE | LATFS | DITFS | ITFS | ITCLK;*pSPORT1_TCR2 = SLEN_8;
*pSPORT1_TCLKDIV = 200;
*pSPORT1_TFSDIV = 200;
void SPI_SendByte(INT8U byte)
{
INT8U temp;
*pSPORT1_TCR1 |= TSPEN;
ssync();
*pSPORT1_TX =byte;
while (!(*pSPORT1_STAT & 0x0040));//等待字节传输完成
*pSPORT1_TCR1 &= (~TSPEN);
printf("TSPORT1_STAT=%X",*pSPORT1_STAT);
}
我调用这函数发数据的时候不能发数据,请大侠帮我解决一下啊,谢谢大家了 这里懂blackfin 的人少,我都是在uclinux下开发,不关心底层 问题解决了,改为
while (!(*pSPORT1_STAT & TUVF));//等待字节传输完成
但现在不能接收数据了:-(
INT8U SPI_RecByte(void)
{
INT8U temp;
unsigned short testtemp,testtemp0;
*pSPORT1_TCR1 |= TSPEN;
*pSPORT1_RCR1 |= RSPEN;
*(unsigned short *)pSPORT1_TX = 0xff;
while (!(*pSPORT1_STAT & RXNE));//等待接收到数据
testtemp=*(unsigned short *)pSPORT1_RX;
temp=*pSPORT1_STAT;
while (!(*pSPORT1_STAT & RUVF));//等待读完数据
temp=*pSPORT1_STAT;
*pSPORT1_TCR1 &= (~TSPEN);
*pSPORT1_RCR1 &= (~RSPEN);
temp=(unsigned char)testtemp;
return(temp);
}
请各位大侠指点小弟啊 现在能发收数据了,我是仿的SPI来读写SD卡,但是有问题了,SPI通信是每8位数据有8个时钟信号
但是SPORT是每8位数据有很多时钟信号,SPORT一打开就有时钟信号了,这样就通信失败了,有哪位
大侠给我指点一下啊,怎么解决这个问题 有没有用GPIO口做片选呢? http://lakefrog.spaces.live.com/blog/cns!3EE1F9C9CF182CD8!479.entry
页:
[1]