按照例程CH0_ov5640_demo中配置成rgb565的寄存器是0x4300,并且配置成了0x60,根据datasheet如图:
该寄存器配置为0x60对应的2个8bit的应该是{b[4:0],g[5:3]}和{g[2:0],r[4:0]},然后在代码中:
这里byte_flag为1的时候拼接两个8bit数据,为0的时候接收高位到cmos_data_d0中,所以按照这样拼接出的rgb565数据是不是
应该等于{b[4:0],g[5:3],g[2:0],r[4:0]},按照这样的输出应该是bgr565数据,
代码中处理后输出rgb_o[23:0],然后经过fifo,ddr3缓存最后输出到hdmi核。
疑问就是后续处理这个数据都是当作rgb565处理的,而不是bgr565数据,就像下图,从高位到低位分别复制给了rgb三个通道
在ov5640的datasheet中也不像ov7725的datasheet明确给出了rgb565的两个8bit,如下图:
所以我的疑问就是在例程的ov5640配置中,这个高低位两个8bit数据是{b[4:0],g[5:3],g[2:0],r[4:0]}这样的bgr565形式,还是后续处理的rgb565形式
|