新手上路
- 积分
- 33
- 金钱
- 33
- 注册时间
- 2020-5-9
- 在线时间
- 7 小时
|
本帖最后由 King592 于 2025-12-29 10:25 编辑
附上我的寄存器配置
{0x12, 0x00}, // COM7: 复位所有寄存器
{0x12, 0x04}, // COM7: VGA模式, RGB输出
/* 输出格式配置 */
{0x40, 0xD0}, // COM15: RGB565输出,全范围
{0x0C, 0x04}, // COM3: 启用缩放
/* 原始VGA窗口设置(640x480) */
{0x17, 0x13}, // HSTART: 水平起始 (原始VGA)
{0x18, 0x01}, // HSTOP: 水平结束 (原始VGA)
{0x19, 0x02}, // VSTART: 垂直起始 (原始VGA)
{0x1A, 0x7A}, // VSTOP: 垂直结束 (原始VGA)
/* 裁剪窗口设置 - 150x150区域 */
{0x17, 0x3C}, // HSTART: 水平起始 = 0x13 + 60 = 从第(19+60)=79列开始
{0x18, 0x01}, // HSTOP: 水平结束,根据实际情况调整
{0x19, 0x1E}, // VSTART: 垂直起始 = 0x02 + 28 = 从第(2+28)=30行开始
{0x1A, 0x62}, // VSTOP: 垂直结束,根据实际情况调整
/* 或者使用缩放方式 */
{0x70, 0x3A}, // SCALING_XSC: 水平缩放因子
{0x71, 0x35}, // SCALING_YSC: 垂直缩放因子
{0x72, 0x11}, // SCALING_DCWCTR: 降采样控制
/* 像素时钟分频 - 调整输出帧率 */
{0x11, 0x80}, // CLKRC: 时钟分频,降低帧率
/* 以下是一种更精确的150x150配置方案 */
/* 方案1:使用QVGA然后数字裁剪到150x150 */
{0x12, 0x14}, // COM7: QVGA模式 (320x240)
/* 从QVGA中心裁剪150x150 */
{0x17, 0x19}, // HSTART: (320-150)/2 = 85 -> 0x19
{0x18, 0x03}, // HSTOP: 85+150 = 235 -> 需要根据寄存器计算
{0x19, 0x02}, // VSTART: (240-150)/2 = 45 -> 需要计算
{0x1A, 0x7A}, // VSTOP: 45+150 = 195 -> 需要计算
/* 重新计算精确的150x150窗口 */
/* 对于QVGA 320x240,设置150x150窗口: */
{0x17, 0x1F}, // HSTART: 从第31列开始 (0x1F = 31)
{0x18, 0x01}, // HSTOP: 结束位置,需要与HREF配合
{0x32, 0x80}, // HREF: 控制HREF的起始和结束
/* 手动计算HREF和VREF */
/* HREF: 0x32 = [7:0] = HREF控制 */
/* bit[7:6] = HREF结束低2位,bit[2:0] = HREF起始低2位 */
/* 对于150宽度,设置合适的HREF */
{0x32, 0xB6}, // 示例值,需要根据实际调整
/* 垂直方向 */
{0x03, 0x0A}, // VREF: 帧垂直控制
/* 颜色和图像处理(保持与初始化类似) */
{0x40, 0xD0}, // COM15: RGB565
{0x3A, 0x04}, // TSLB: 设置输出格式
/* 自动曝光和增益 */
{0x13, 0xE7}, // COM8: 使能AGC/AEC
{0x00, 0x40}, // GAIN: AGC增益
{0x10, 0x00}, // AECH: 曝光时间
{0x0F, 0x80},// AEC低8位(通过COM6寄存器)
/* 白平衡 */
{0x13, 0xE7}, // COM8: 自动白平衡使能
{0x6F, 0x9F}, // AWBCTR1: 自动白平衡控制
/* 亮度对比度 */
{0x55, 0x00}, // BRIGHT: 亮度
{0x56, 0x40}, // CONTRAS: 对比度
/* 饱和度 */
{0x52, 0x22}, // SATCTR: 饱和度控制
/* 特殊效果 */
{0x3B, 0x0A}, // COM11: 背光补偿等
/* 更新缩放寄存器 */
{0x70, 0x3A}, // SCALING_XSC: 需要根据实际计算
{0x71, 0x35}, // SCALING_YSC: 需要根据实际计算
/* 驱动能力 */
{0x09, 0x03}, // COM2: 输出驱动能力
/* 最终配置确认 */
{0x11, 0x80}, // CLKRC: 最终时钟配置
{0x12, 0x14}, // COM7: 最终模式确认(QVGA)
{0x11, 0x83}, // CLKRC - 内部时钟分频
{0x6B, 0x00}, // DBLV - PLL控制
|
|