文档介绍:,同时在你的C源代码中调用CSL函数。 CSL此部分提供了一个实例来应用CSL的APIs,利用CSL可以有两种方式对外设编程:(PER_config):通过设置存储器映像寄存器中的全部变量来配置外设,相对于功能参数配置,基于寄存器配置需要很少的周期和代码长度,但不会抽象。(PER_setup):通过参数的设置配置外设。相比于基于寄存器的配置,功能参数配置需要更多的周期和代码的长度,但是更加抽象。下面这个例子是基于寄存器配置说明了用CSL初始化DMA通道0并把0x3000地址上的数据复制到0x2000。源地址:2000h目的地址:3000h传送长度:()函数以下的实例和步骤是应用DMA_config()函数来初始化寄存器,本例用于C5509器件。<>.。#include<>#include<>//Example-specificinitialization#defineN16//blocksizetotransfer#pragmaDATA_SECTION(src,”table1”)/*scrdatatableaddress*/Uint16src[N]={0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu};#pragmaDATA_SECTION(dst,”table2”)/*dstdatatableaddress*/Uint16dst[N];定义和初始化DMA通道配置结构体。DMA_Configmyconfig={/*DMAconfigurationstructure*/DMA_DMACSDP_RMK(DMA_DMACSDP_DSTBEN_NOBURST,/*Destinationburst:−DMA_DMACSDP_DSTBEN_NOBURSTDMA_DMACSDP_DSTBEN_BURST4*/DMA_DMACSDP_DSTPACK_OFF,/*Destinationpacking:−DMA_DMACSDP_DSTPACK_ONDMA_DMACSDP_DSTPACK_OFF*/DMA_DMACSDP_DST_SARAM,/*Destinationselection:−DMA_DMACSDP_DST_SARAMDMA_DMACSDP_DST_DARAMDMA_DMACSDP_DST_EMIFDMA_DMACSDP_DST_PERIPH*/DMA_DMACSDP_SRCBEN_NOBURST,/*Sourceburst:−DMA_DMACSDP_SRCBEN_NOBURSTDMA_DMACSDP_SRCBEN_BURST4*/DMA_DMACSDP_SRCPACK_OFF,/*Sourcepacking:−DMA_DMACSDP_SRCPACK_ONDMA_DMACSDP_SRCPACK_OFF*/