hello,
I configured the SPI of ADSP1802 as the Target receiving DMA mode. The Controller SPI continuously transmits data packets. When the interval between two data packets is less than 500MS, the data received in the SPI interrupt of ADSP1802 will be chaotic. When the interval between two packets is greater than 500MS, ADSP1802 can correctly receive each packet. Is this normal?
In order to continuously receive data in the SPI interrupt, I carried out the following operations in the interrupt function. Is this operation reasonable?
void SPI_Rx_Isr(int sig)
{
DEBUG_PRINT("spi rx:0x%x,0x%x, 0x%x, 0x%x, 0x%x,0x%x, 0x%x, 0x%x, 0x%x,0x%x\n",Destination,Destination[0],Destination[1],Destination[2],Destination[3],Destination[4],Destination[5],Destination[6],Destination[7],Destination[8]);
*pSPICTLB &= ~SPIEN ;
*pIISPIB = (unsigned int)Destination;
*pIMSPIB = 1;
*pCSPIB = M;
*pSPICTLB |= SPIEN ;
*pSPIDMACB = SPIDEN | SPIRCV |INTEN;
}
Is there any example of ADSP1802 being configured in SPI Target receiving DMA mode and continuously receiving data in interrupt?