|
)写了这样的一个乒乓操作:
while(pingpong_buffer_num <9){
/*启动UPP DMA传输*/
UARTPuts("ping\n",-2);
upp_reg_hdl->UPID0 = (Uint32)upp_buffer_test[pingpong_buffer_num];
upp_reg_hdl->UPID1 = ((Uint32)upp_line_count << 16) | (Uint32)upp_line_size*sizeof(Uint16);
upp_reg_hdl->UPID2 = (Uint32)upp_line_offset*sizeof(upp_buffer_ping[0]);
while((upp_reg_hdl->UPIS2 & CSL_UPP_UPIS2_PEND_MASK) == 2){UARTPuts("p\n",-2);};
UARTPuts("ping\n",-2);
pingpong_buffer_num = ++pingpong_buffer_num;
upp_reg_hdl->UPID0 = (Uint32)upp_buffer_test[pingpong_buffer_num];
upp_reg_hdl->UPID1 = ((Uint32)upp_line_count << 16) | (Uint32)upp_line_size*sizeof(Uint16);
upp_reg_hdl->UPID2 = (Uint32)upp_line_offset*sizeof(upp_buffer_ping[0]);
while(upp_reg_hdl->UPIS2 & CSL_UPP_UPIS2_PEND_MASK == 2){UARTPuts("g\n",-2);};、 pingpong_buffer_num = ++pingpong_buffer_num;
}
接收FPGA发过来的连续数据(0-65535,循环)。为什么接收到的数据每个test数组之间不是连续的呢?感觉像是因为执行了中断处理函数耽误了时间。如果是这样改怎样解决呢
|
|