init ppi.c

来自「基于visual dsp++开发环境」· C语言 代码 · 共 34 行

C
34
字号
#include "system.h"

/********************************************************************************/
/***** InitPPI()															*****/
/***** Configure PPI for output, and DMA channel zero for Writes 			*****/
/********************************************************************************/
void InitPPI(void)
{
	
	// configure PPI

	// 16-bit wordlength, Polarity not inverted, no skipping, 32 bit DMA, no packing, output mode 1FS
	*pPPI_CONTROL = 0x3800 | DMA32 | 0x000C | PORT_DIR;
	*pPPI_DELAY   = 0x0000;
	*pPPI_COUNT   = Number_of_DAC_channels * Number_of_Samples -1 ;
	*pPPI_FRAME   = 0x0000; 		// Not used in Output Mode


	
	// configure PPI DMA for 2d small descriptor mode (transmit channel 0)
	*pDMA0_CONFIG = FLOW | 0x0400 | DI_EN | WDSIZE_16;			// disable DMA transfer and enable large descriptor mode 1d mode (word size = 16bit)
	*pDMA0_NEXT_DESC_PTR = (&DMA_TX_first);
	*pDMA0_X_MODIFY = Number_of_DAC_channels * Word_Size;
	*pDMA0_X_COUNT = Number_of_Samples;

	*pDMA0_CONFIG = *pDMA0_CONFIG | DMAEN;;	// enable DMA  (PPI not enabled yet)
	asm("ssync;");

	*pPPI_CONTROL |= PORT_EN;;				// enable PPI (even though the timer is not enabled yet!)
	asm("ssync;");

}

⌨️ 快捷键说明

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