* @brief whether use dma2d to transfer data to lcd framebuffer. */ #define USE_DMA2D_EN 1 1. 2. 3. 4. 接着对DMA2D传输操作进行封装,编写一个DMA2D传输函数: static void dma2d_transfer_data_r2m(uint32_t *addr, uint32_t xSize, uint32_t ySize, uint32_t offsetLine, uint16_t color...
staticvoiddma2d_transfer_data_r2m(uint32_t*addr,uint32_t xSize,uint32_t ySize,uint32_t offsetLine,uint16_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->...
数据使能信号DE(Data Enable)用于表示数据的有效性,当DE信号线为高电平时,RGB信号线表示的数据有效。 27.2.2. 液晶数据传输时序 通过上述信号线向液晶屏传输像素数据时,各信号线的时序见图 液晶时序图。图中表示的是向液晶屏传输一帧图像数据的时序,中间省略了多行及多个像素点。 液晶时序图 液晶屏显示的图像可...
enumerator DMA2D_R2M DMA2D register to memory transfer mode enumerator DMA2D_M2M_BLEND_FG DMA2D memory to memory with blending transfer mode and fixed color FG enumerator DMA2D_M2M_BLEND_BG DMA2D memory to memory with blending transfer mode and fixed color BG enum rgb888_dataout...
*/Dma2dHandle.Init.RedBlueSwap= DMA2D_RB_REGULAR;/*输出颜色的R/B通过不切换*/Dma2dHandle.Init.AlphaInverted= DMA2D_REGULAR_ALPHA;/*输出颜色的Alpha通道数值不翻转*//*##-2- DMA2D 回调函数配置 ###*/Dma2dHandle.XferCpltCallback=TransferComplete; Dma2dHandle.XferErrorCallback=TransferError;/...
这里特别注意一点,输入颜色格式的Alpha值是可以设置的,而且颜色格式里面的R通道和B通道可以交换位置。 45.2.4 前景层和背景层混合 DMA2D混合器用于混合前景色和背景色,这个功能不需要任何配置,仅需要通过DMA2D_CR寄存器使能即可。混合公式如下: 45.2.5 DMA2D输出颜色格式 DMA2D支持的输出颜色格式如下: 45.3 DMA2D的HAL...
数据使能信号DE(Data Enable)用于表示数据的有效性,当DE信号线为高电平时,RGB信号线表示的数据有效。 1.2.2 液晶数据传输时序 通过上述信号线向液晶屏传输像素数据时,各信号线的时序见图 27- 8。图中表示的是向液晶屏传输一帧图像数据的时序,中间省略了多行及多个像素点。
* 1) Configure the transfer mode : memory to memory * 2) Configure the output color mode as ARGB4444 * 3) Configure the transfer from FLASH to SRAM * 4) Configure the data size : 150x150 (pixels) * @retval * None */staticvoidDMA2D_Config(void){/* Configure the DMA2D Mode, Color ...
配置完DMA2D的参数后,就可以调用库函数HAL_DMA2D_Init把参数写入到寄存器中,然后调用HAL_DMA2D_Start函数配置传输参数,只需要输入颜色,目标地址,长和宽,然后调用HAL_DMA2D_PollForTransfer函数启动传输。 26.8.2.2.7. 使用DMA2D绘制矩形 与绘制直线很类似,利用DMA2D绘制纯色矩形的方法见代码清单。 代码清单 使用DMA2D...
Init.RedBlueSwap = DMA2D_RB_REGULAR; /* 输出颜色的R/B通过不切换 */ Dma2dHandle.Init.AlphaInverted = DMA2D_REGULAR_ALPHA; /* 输出颜色的Alpha通道数值不翻转 */ /*##-2- DMA2D 回调函数配置 ###*/ Dma2dHandle.XferCpltCallback = TransferComplete; Dma2dHandle.XferErrorCallback = TransferError...