📄 init ppi.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -