简介:
在查看STM32H7S78 的开发手册时注意到LTDC 支持Color keying (transparency color) 特性,该特性的描述如下显示的像素值和color key 配置的RGB 数值相同时会将对应的像素修改为0,配置为透明。
从上述描述可以看出通过修改LTDC_LXCKCR 寄存器可以用来配置color key 配置,对应寄存器如下:
根据上面的描述上述功能只要配置下LTDC_LXCKCR 寄存器开启对应功能的开关即可,我们在之前LTDC 显示的基础上开启该功能添加如下代码配置color key 为0xffffff 颜色为白色,将显示的白色部分替换为0。
void start_task1(void *pvParameters) { HAL_LTDC_ConfigColorKeying(&hltdc, 0xffffff, 0); while(1) { printf("task2 .\r\n"); //HAL_LTDC_SetAddress(&hltdc, (uint32_t)&_acrgb565data, 0); //HAL_LTDC_Reload( &hltdc,LTDC_RELOAD_IMMEDIATE); HAL_LTDC_EnableColorKeying(&hltdc, 0); vTaskDelay(1000); //HAL_LTDC_SetAddress(&hltdc, (uint32_t)&eepwlogo1, 0); //HAL_LTDC_Reload( &hltdc,LTDC_RELOAD_IMMEDIATE); HAL_LTDC_DisableColorKeying(&hltdc, 0); vTaskDelay(1000); } }
运行发现color key disable 时显示如下
使能color key enable 后原来显示白色部分将变为不显示,试验结果和该功能描述的一致符合预期。