中级会员
 
- 积分
- 313
- 金钱
- 313
- 注册时间
- 2015-2-24
- 在线时间
- 42 小时
|

楼主 |
发表于 2016-9-17 22:16:56
|
显示全部楼层
本帖最后由 HenryYam 于 2016-9-17 22:18 编辑
终于搞定了。
1,OV5640_OutSize_Set(4, 0, 600, 800); //不明白的是,这里的第一个参数 “4”是何意义?
2,void rgblcd_dcmi_rx_callback(void) 这个函数定义里面,最后要添加一行:
//if(CurrentLineNo < lcddev.height) CurrentLineNo ++;
if(CurrentLineNo < 800) CurrentLineNo ++;
else CurrentLineNo = 0; //这一行是后加上去的。如果没有这一行,则图像最下部分有条重影带。
3,最重要的一点,是要改变画面比例。这需要在 ov5640cfg.h 文件中的 const u16 ov5640_rgb565_reg_tbl[][2] 定义中,修改以下几行:
// 0x3800, 0x00, // HS
// 0x3801, 0x00, // HS
// 0x3802, 0x00, // VS
// 0x3803, 0x00, // VS
// 0x3804, 0x0a, // HW (HE) 2623 = 2592+16+16-1
// 0x3805, 0x3f, // HW (HE)
// 0x3806, 0x06, // VH (VE) 1705 = ? 不明白这个数字是怎么来的?垂直方向上不是有1944个点吗,怎么只有1706个点了?
// 0x3807, 0xa9, // VH (VE)
0x3800, 0x02, // HS
0x3801, 0x91, // HS
0x3802, 0x00, // VS
0x3803, 0x00, // VS
0x3804, 0x07, // HW (HE) 1935 (1278 x 1705)
0x3805, 0x8f, // HW (HE)
0x3806, 0x06, // VH (VE)
0x3807, 0xa9, // VH (VE)
以上注释掉的是原来的数值。
|
|