init ppi.c

来自「基于ADI blackfin处理器的范例程序」· C语言 代码 · 共 39 行

C
39
字号
#include "system.h"

void InitPPI(bool dir)
{
	if (dir == 0) 
	{
		// configure PPI + DMA for RX mode 
		*pPPI_CONTROL = (short) 0x0000; //Disable PPI
		*pDMA0_CONFIG = 0x0000; // Disable DMA
		*pPPI_CONTROL = (short) 0x387C;	
		*pPPI_DELAY   = 0x0000;
		*pPPI_COUNT   = Number_of_ADC_channels * Number_of_Samples*2;
		*pPPI_FRAME   = 1;
		*pDMA0_CONFIG = 0x6;
		*pDMA0_START_ADDR = sPPI_RxBuffer;
		*pDMA0_X_MODIFY = Number_of_ADC_channels * Word_Size;
		*pDMA0_X_COUNT = Number_of_Samples*2; 
	}
	else
	{
		// configure PPI + DMA for TX mode 
		*pPPI_CONTROL = (short) 0x0000; //Disable PPI
		*pDMA0_CONFIG = 0x0000; // Disable DMA
		*pPPI_CONTROL = (short) 0x3802;	
		*pPPI_DELAY   = 0x0000;
		// 33 additional mid-scale samples must be sent to the DAC to flush
		// its interpolation filters.
		*pPPI_COUNT   = (Number_of_ADC_channels * Number_of_Samples*2)+33;
		*pPPI_FRAME   = 1;
		*pDMA0_CONFIG = 0x4;
		*pDMA0_START_ADDR = sPPI_TxBuffer;
		*pDMA0_X_MODIFY = Number_of_ADC_channels * Word_Size;
		*pDMA0_X_COUNT = ((Number_of_Samples*2)+33); 
	}
	*pDMA0_CONFIG = *pDMA0_CONFIG | DMAEN;	// enable DMA  (PPI not enabled yet)

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?