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 + -
显示快捷键?