新手入门
- 积分
- 4
- 金钱
- 4
- 注册时间
- 2020-12-7
- 在线时间
- 0 小时
|
1金钱
STM32F429单片机使用Cube去配置的RGB565显示颜色后 感觉不知哪里又刷回去了 显示了红绿蓝颜色间隔是3秒, 但是刷完颜色后,不知道哪里配置又刷回去了
我的屏幕是800*480 使用的是DMA2D 去刷新的
void LCD_Clear(uint16_t color)
{
__HAL_RCC_DMA2D_CLK_ENABLE();
DMA2D->CR &= ~(DMA2D_CR_START); // 停止DMA2D
DMA2D->CR = DMA2D_R2M; // 寄存器到SDRAM
DMA2D->OPFCCR = LTDC_PIXEL_FORMAT_RGB565; // 设置颜色格式
DMA2D->OOR = 0; // 设置行偏移
DMA2D->OMAR = LCD_FRAME_BUFFER ; //BUFFER_OFFSET 地址
DMA2D->NLR = ((LCD_PIXEL_WIDTH-1)<<16)|((LCD_PIXEL_HEIGHT-1));; // 设定长度和宽度
DMA2D->OCOLR = color; // 颜色
DMA2D->CR |= DMA2D_CR_START; // 启动DMA2D
//while (DMA2D->CR & DMA2D_CR_START) ; // 等待传输完成
while((DMA2D->ISR & DMA2D_FLAG_TC) == 0); //等待传输完成
DMA2D->IFCR |= DMA2D_FLAG_TC; //清除传输完成标志
}
|
-
每次更新完红绿蓝后 又刷回这个颜色了
|