花了一个晚上研究了一下OV7670的YUV配置,与RGB格式565相比,YUV422的主要配置区别如下
// {0x3a, 0x04},//RGB
{0x12, 0x10},//QVGA YUV
{0x3a, 0x14},//使用固定UV输出
{0x3d, 0x80},//使用固定UV输出
//0 0 : Y U Y V (3a:14 3d:80)
//0 1 : Y V Y U (3a:14 3d:81)
//1 0 : U Y V Y (3a:18 3d:80)
//1 1 : V Y U Y (3a:18 3d:81)
{0x67, 0x11},//固定U值,0x11,方便测试
{0x68, 0xFF},//固定V值,0xFF,方便测试
// {0x40, 0x10},//RGB565
{0x40, 0xC0},//初始配置,YUV模式,这个寄存器必须设置,否则不好使
// {0x12, 0x14},//QVGA RGB,
为方便调试,都是用固定的U值和V值,
向67中写入11,向68中写入FF,出来的是XX11XXFF,说明配置成功。
要注意的就是{0x40, 0xC0},这个必须设置成初始化值,默认配置便是YUV,不能再用RGB565的配置
顺便说一句,YUV模式为YUV 4:2:2,不是说8位里面4位Y,2位U,2位V的意思, Y/U/V都是8位数据,只是U和V是隔着Y轮流输出的,高字节的是Y,低字节为U或V,
做飞思卡尔智能车一般用的OV7620就是这样,一般只用Y的数据,用来判断黑白。
主要就是这些,个人感觉比较有用
|