我们将摄像头采集到的图像通过串口传输到PC上,但是处理图像数据的适合显示颜色异常。
查看说明:由于摄像头输出的RGB565数据占D9-D2,而LCD需要D7-D0的数据,因此在传输前需要缓存中的数据统一向右移位2位(引用自原文)。代码如下:
for (u16 i = 0; i < RGB565_COL_NUM * 2; ++i)
{
*(u8 )(RGB565_DVPDMAaddr0 + i) = (u8)((u16 *)(RGB565_DVPDMAaddr0 + i * 2) >> 2);
}
对这行代码不是很理解。
因为这段代码处理后的数据在LCD上显示正常,但是我们将该数据存到SRAM后再对数据进行“RGB565”格式解析,但是现象如下图所示,不知道怎么解决。求救!!!!
![
](https://)
![
](https://)