如题,不知道是什么问题,PPI初始化函数如下:
void init_ppi(void)
{
*pPPI_CONTROL = 0x3800 | 0x000C ; //PPI接收模式 Data Length 16bits,
//*pPPI_DELAY = 0x0001;
*pPPI_DELAY = 0x0; //0 clock delay after FS assertion
*pPPI_COUNT = RECEIVE_BUFFER_SIZE+1;// (512*100)
//*pPPI_COUNT = RECEIVE_BUFFER_SIZE;
*pPPI_FRAME = 0x0000;
//initialize the DMA channel for PPI
//last_word_pointer = *last_word_pointer;
*pDMA0_CONFIG = 0x0020 | WDSIZE_16 | WNR | DI_EN; //WNR表示存储器写
short *receive_pointer;
receive_pointer = sPPI_RxBuffer1+(RECEIVE_BUFFER_SIZE)*stored_data_times+8+data_left_length/2;
//receive;
*pDMA0_START_ADDR = (void*)(receive_pointer);
*pDMA0_X_MODIFY = 2;
*pDMA0_X_COUNT = RECEIVE_BUFFER_SIZE+1;
//*pDMA0_X_COUNT = RECEIVE_BUFFER_SIZE;
asm("ssync;");
}
void start_ppi(void)
{
*pDMA0_CONFIG = *pDMA0_CONFIG | DMAEN ;
asm("ssync;");
*pPPI_CONTROL = *pPPI_CONTROL | PORT_EN;
asm("ssync;");
}
「该帖子被 HADIST 在 2013-05-20 10:23:48 编辑过」