因为是初学者,看完数据手册,但是还是不知道从哪写起,请大神们指导一下,在哪能下到关于C6747的官方例程,拜托,拜托了,因为老师那边急着要了,
tiancheng wang:
回复 Tony Tang:
CSL_Edma3ccParamSetRegs param; edmaInit(); param.OPT = (EDMA_EMIFA_TCC << 12) | (1 << 8) | (1 << 20)|(1 << 21); //1维数据传输,数据宽度32位,源地址增加,完成中断使能,检测中断设置为EDMA_EMIFA_TCC=5,即IPR[5]将被置为1 param.SRC = (Uint32)EMIFA_send_Add; //源地址,即EMIFA的发送地址 param.A_B_CNT = (1 << 16)| sample_size ; //当设置1维时,2维计数值为1,即意味着是一维矩阵 param.DST = (Uint32)SDRAM_recevie_Add; //目的地址,即SDRAM的接收地址 param.SRC_DST_BIDX =0x0000; //实现多帧数据传输时设置源索引参数(0 << 16) | ping_offset : DSTBIDX|SCRBIDX param.LINK_BCNTRLD = (0 << 16) | (0xffff);//(0 << 16) | (0xffff); //当一个通道完成后链接到设置地址对应的下一个通道,如果设置0XFFFF则该通道结束后RAM里德参数全清零,只有LINK参数保持0xFFFF param.SRC_DST_CIDX = (0 << 16)| (0x0000); //实现多帧数据传输时设置目的索引 |(ping_c_idx & 0x0000FFFF) format: DSTCIDX|SRCCIDX param.CCNT =sample_count; //三维计数器,当只有一帧数据时设置0x0001,sample_count //128个参数RAM,则ParamNum设置为0吧 edmaWritePaRAM(EDMA_EMIFA_PaRAM, ¶m); //edmaCcRegs->IER|= (Uint32)0x1 << EDMA_EMIFA_TCC; EdmaIntEnable(EDMA_EMIFA_TCC); //哪个通道对应哪个中断标志 EdmaEnableChannel(EDMA_GPIO_BANK4,0); edmaSetEvent(EDMA_GPIO_BANK4);
Tony Tang:
回复 tiancheng wang:
上面内容很乱,整理一下吧。