我连上BF533和ADSP21489的EZ-KIT,但是通信出了点问题,想确定是是SHARC接收问题,还是BF533传输问题。BF533是开源带触摸屏的开发板,请帮我看下配置对么,我是参考EZ-KIT来配的,代码如下。
void Init_SDRAM(void)
{
*pEBIU_SDRRC = 0x00000817;
*pEBIU_SDBCTL = 0x00000013;
*pEBIU_SDGCTL = 0x0091998d;
ssync();
}
void Init_EBIU(void)
{
*pEBIU_AMBCTL0 = 0x7bb07bb0;
*pEBIU_AMBCTL1 = 0xffc07bb0;
*pEBIU_AMGCTL = 0x010f;
}
void Set_PLL(int pmsel,int pssel)
{
int new_PLL_CTL;
*pPLL_DIV = pssel;
asm("ssync;");
new_PLL_CTL = (pmsel & 0x3f) << 9;
*pSIC_IWR |= 0xffffffff;
if (new_PLL_CTL != *pPLL_CTL)
{
*pPLL_CTL = new_PLL_CTL;
asm("ssync;");
asm("idle;");
}
}
}
void ConfigSPI(void)
{
/* Reset SPI configurations*/
*pSPI_BAUD = 0x0000;
*pSPI_CTL = 0x0400;
*pSPI_FLG = 0xFF00;
*pSPI_STAT = 0x0001;
*pSPI_TDBR = 0x0000;
*pSPI_RDBR = 0x0000;
*pSPI_SHADOW = 0x0000;
Delay(0xFFFFF);
*pSPI_FLG = FLS1; /* Enable PF1 */
*pSPI_BAUD = 16; /* Set baud rate SCK = HCLK/(2*SPIBAUD) SCK = 2MHz */
*pSPI_CTL = 0x0003 | CPOL | CPHA | MSTR;
}
void SendSPIData(void *pStartAddr, int nNumDataBytes)
{ //*pDMA5_PERIPHERAL_MAP = 0x5000;
*pDMA5_START_ADDR = (void *)pStartAddr;/* Start address of data buffer */
*pDMA5_X_COUNT = nNumDataBytes; /* DMA inner loop count */
*pDMA5_X_MODIFY = 1; /* Inner loop address increment */
*pDMA5_CONFIG = (*pDMA5_CONFIG | DMAEN); /* Enable DMAs */
*pSPI_CTL = (*pSPI_CTL | SPE); /* Enable spi */
}
main()
{
Set_PLL(16,4);
Init_EBIU();
Init_SDRAM();
ConfigSPI();
SendSPIData(aSPIPacket_1,256);// aSPIPacket_1的buffer里是16个int型的参数。
while(!(*pSPI_STAT & SPIF));
Delay(1500);
Disable_Spi();
}