DMA2D->CR|=DMA2D_CR_START;//开启DMA2D的数据传输,DMA2D_CR_START是一个宏,其值为0x01 等DMA2D传输开始后,我们只需要等待它传输完毕即可。DAM2D传输完成后,会自动把CR寄存器的第0位设置为0,所以我们可以通过以下代码来等待DAM2D传输完成: while(DMA2D->CR&DMA2D_CR_START){}//等待DMA2D传输完成 tips0:如果...
1DMA2D->CR |= DMA2D_CR_START;// 开启DMA2D的数据传输,DMA2D_CR_START是一个宏,其值为0x01 等DMA2D传输开始后,我们只需要等待它传输完毕即可。DAM2D传输完成后,会自动把CR寄存器的第0位设置为0,所以我们可以通过以下代码来等待DAM2D传输完成: 1while(DMA2D->CR & DMA2D_CR_START) {}// 等待DMA2D传输完...
DMA2D->CR = DMA2D_R2M; // dma2d mode: register to memory. DMA2D->OPFCCR = DMA2D_OUTPUT_RGB565; DMA2D->OCOLR = color; DMA2D->OMAR = (uint32_t)addr; DMA2D->OOR = offsetLine; DMA2D->NLR = (uint32_t)(xSize << 16) | (uint16_t)ySize; DMA2D->CR |= DMA2D_CR_START; while ...
1DMA2D-》CR |= DMA2D_CR_START; // 开启DMA2D的数据传输,DMA2D_CR_START是一个宏,其值为0x01 等DMA2D传输开始后,我们只需要等待它传输完毕即可。DAM2D传输完成后,会自动把CR寄存器的第0位设置为0,所以我们可以通过以下代码来等待DAM2D传输完成: 1while (DMA2D-》CR & DMA2D_CR_START) {} // 等待DMA2D...
38. DMA2D->NLR = (uint32_t)(xSize << 16) | (uint16_t)ySize; 39. 40. /* 启动传输 */ 41. DMA2D->CR |= DMA2D_CR_START; 42. 43. /* 等待DMA2D传输完成 */ 44. while (DMA2D->CR & DMA2D_CR_START) {} 45. } 1. 2. 3. 4....
25. DMA2D->OMAR =(uint32_t)pDst;26. DMA2D->OOR =OffLine;27. DMA2D->OPFCCR =PixelFormat;28. DMA2D->NLR = (uint32_t)(xSize <<16) |(uint16_t)ySize;29.30./*启动传输*/31. DMA2D->CR |=DMA2D_CR_START;32.33./*等待DMA2D传输完成*/34.while(DMA2D->CR &DMA2D_CR_START) {}35. }...
start=DWT_CYCCNT;/*等待DMA2D传输完成*/while(DMA2D->CR &DMA2D_CR_START) {} end=DWT_CYCCNT; cnt= end -start; printf("DMA2D---AXI SRAM内部互传64KB数据耗时 = %dus %dMB/S\r\n", cnt/400,25000000/cnt); 通过时钟周期计数器测量执行时间,单位2.5ns。
t color){DMA2D->CR=DMA2D_R2M;// dma2d mode: register to memory.DMA2D->OPFCCR=DMA2D_OUTPUT_RGB565;DMA2D->OCOLR=color;DMA2D->OMAR=(uint32_t)addr;DMA2D->OOR=offsetLine;DMA2D->NLR=(uint32_t)(xSize<<16)|(uint16_t)ySize;DMA2D->CR|=DMA2D_CR_START;while(DMA2D->CR&DMA2D_CR_START)...
(uint32_t)0x30000000;DMA2D->OMAR=(uint32_t)(0x30000000+64*1024);DMA2D->CR|=DMA2D_CR_START;start=DWT_CYCCNT;/* 等待DMA2D传输完成 */while(DMA2D->CR&DMA2D_CR_START){}end=DWT_CYCCNT;cnt=end-start;printf("DMA2D---D2域SRAM1内部互传64KB数据耗时 = %dus %dMB/S\r\n",cnt/400,...
(SCB->CCR)&(uint32_t)SCB_CCR_DC_Msk)SCB_CleanInvalidateDCache();#endif}}static voidwait_finish(void){lv_disp_t*disp=_lv_refr_get_disp_refreshing();if(disp->driver->gpu_wait_cb)return;while(DMA2D->CR&DMA2D_CR_START_Msk){if(disp->driver->wait_cb)disp->driver->wait_cb(disp->...