📄 saaregload.mht
字号:
From: <由 Microsoft Internet Explorer 5 保存>
Subject:
Date: Mon, 10 Mar 2008 08:56:22 +0800
MIME-Version: 1.0
Content-Type: multipart/related;
type="text/html";
boundary="----=_NextPart_000_0000_01C8828C.9D3B4A40"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198
This is a multi-part message in MIME format.
------=_NextPart_000_0000_01C8828C.9D3B4A40
Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.seattlerobotics.org/encoder/200601/article3/saaregload.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dgb2312">
<META content=3D"MSHTML 6.00.2900.3243" name=3DGENERATOR></HEAD>
<BODY text=3D#000000 vLink=3D#000000 aLink=3D#0000ff link=3D#0000b0=20
bgColor=3D#008080><BASEFONT face=3DArial color=3D#ffffff>
<CENTER>
<H2>A Color Vision System for Embedded Robotics =
Applications</H2></CENTER>Given=20
a 72 paged data sheet, a couple dozen configuration registers controling =
wide=20
ranging filter values and digital interface settings, I've also provided =
the 'C'=20
code I use to initialize the device:=20
<P>
<CENTER><A=20
href=3D"http://www.seattlerobotics.org/encoder/200601/article3/index.php#=
saaregload">
<H2>Click here to return to article</H2></A>
<P>
<TABLE borderColor=3D#0080ff cellPadding=3D10 align=3Dcenter=20
background=3Dhttp://www.seattlerobotics.org/encoder/200601/article3/grid.=
gif=20
border=3D10>
<TBODY>
<TR>
<TD><FONT color=3Dblack>
<CENTER>
<H4>Processor Side 'C' code to set up SAA7111A Video Input =
Processors=20
</H4></CENTER>
<P><PRE>void set_Up_SAA7111(void)
{
dprintf("\n\r ... I2C write 1 ...\n\r");
i2c_Write(1,0x24,0x01,0x00); // chip number, address, subaddress, value
i2c_Write(1,0x24,0x02,0xc0);=20
i2c_Write(1,0x24,0x03,0x33);=20
i2c_Write(1,0x24,0x04,0x00);=20
i2c_Write(1,0x24,0x05,0x00);=20
i2c_Write(1,0x24,0x06,0xeb);=20
i2c_Write(1,0x24,0x07,0xe0);=20
i2c_Write(1,0x24,0x08,0x88);=20
i2c_Write(1,0x24,0x09,0x01);=20
i2c_Write(1,0x24,0x0a,0x80);=20
i2c_Write(1,0x24,0x0b,0x47);=20
i2c_Write(1,0x24,0x0c,0x40);=20
i2c_Write(1,0x24,0x0d,0x00);=20
i2c_Write(1,0x24,0x0e,0x01);=20
i2c_Write(1,0x24,0x10,0x00); =09
i2c_Write(1,0x24,0x11,0x0c);=09
i2c_Write(1,0x24,0x12,0x00); =09
i2c_Write(1,0x24,0x13,0x00);=20
i2c_Write(1,0x24,0x15,0x00);=20
i2c_Write(1,0x24,0x16,0x00);=20
i2c_Write(1,0x24,0x17,0x00);=20
dprintf("\r ... I2C read chip 1 ...\r");
cuck =3D i2c_Read(1,0x24,0);=20
if(0x21 =3D=3D cuck)
{
dprintf("--=3D> this is a valid chip number");
}
else
{
dprintf("--=3D> (%d) this is NOT a valid chip number",cuck);
}
dprintf("\r0x00(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x02);=20
dprintf("\r0x02(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x03);=20
dprintf("\r0x03(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x04);=20
dprintf("\r0x04(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x05);=20
dprintf("\r0x05(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x06);=20
dprintf("\r0x06(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x07);=20
dprintf("\r0x07(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x08);=20
dprintf("\r0x08(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x09);=20
dprintf("\r0x09(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x0a);=20
dprintf("\r0x0a(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x0b);=20
dprintf("\r0x0b(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x0c);=20
dprintf("\r0x0c(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x0d);=20
dprintf("\r0x0d(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x0e);=20
dprintf("\r0x0e(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x10);=20
dprintf("\r0x10(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x11);=20
dprintf("\r0x11(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x12);=20
dprintf("\r0x12(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x13);=20
dprintf("\r0x13(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x15);=20
dprintf("\r0x15(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x16);=20
dprintf("\r0x16(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x17);=20
dprintf("\r0x17(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x1a);=20
dprintf("\r0x1a(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x1b);=20
dprintf("\r0x1b(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x1c);=20
dprintf("\r0x1c(0x%x)",cuck);
cuck =3D i2c_Read(1,0x24,0x1f);=20
dprintf("\r0x1f(0x%x)",cuck);
if((cuck & 0x40) =3D=3D 0x40)
dprintf(" video not locked");
else
{
dprintf(" video locked on this channel");
if((cuck & 0x20) =3D=3D 0x20)
dprintf(" --> (60Hz)");
else
dprintf(" --> (50Hz)");
}
if((cuck & 0x01) =3D=3D 0x01)
dprintf("\r valid color signal detected");
else
dprintf("\r no valid color data");
if((cuck & 0x80) =3D=3D 0x80)
dprintf("\r VTR (fast) Time Constant");
else
dprintf("\r TV (slow) Time Constant");
if((cuck & 0x04) =3D=3D 0x04)
dprintf("\r White Peak Loop is Activiated");
return;
}
</PRE></FONT></TR></TBODY></TABLE>
<P>
<H1></H1></CENTER></BASEFONT></BODY></HTML>
------=_NextPart_000_0000_01C8828C.9D3B4A40
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.seattlerobotics.org/encoder/200601/article3/grid.gif
R0lGODdhFAAUAPcAAAAAAAAAQAAAgAAA/wAgAAAgQAAggAAg/wBAAABAQABAgABA/wBgAABgQABg
gABg/wCAAACAQACAgACA/wCgAACgQACggACg/wDAAADAQADAgADA/wD/AAD/QAD/gAD//yAAACAA
QCAAgCAA/yAgACAgQCAggCAg/yBAACBAQCBAgCBA/yBgACBgQCBggCBg/yCAACCAQCCAgCCA/yCg
ACCgQCCggCCg/yDAACDAQCDAgCDA/yD/ACD/QCD/gCD//0AAAEAAQEAAgEAA/0AgAEAgQEAggEAg
/0BAAEBAQEBAgEBA/0BgAEBgQEBggEBg/0CAAECAQECAgECA/0CgAECgQECggECg/0DAAEDAQEDA
gEDA/0D/AED/QED/gED//2AAAGAAQGAAgGAA/2AgAGAgQGAggGAg/2BAAGBAQGBAgGBA/2BgAGBg
QGBggGBg/2CAAGCAQGCAgGCA/2CgAGCgQGCggGCg/2DAAGDAQGDAgGDA/2D/AGD/QGD/gGD//4AA
AIAAQIAAgIAA/4AgAIAgQIAggIAg/4BAAIBAQIBAgIBA/4BgAIBgQIBggIBg/4CAAICAQICAgICA
/4CgAICgQICggICg/4DAAIDAQIDAgIDA/4D/AID/QID/gID//6AAAKAAQKAAgKAA/6AgAKAgQKAg
gKAg/6BAAKBAQKBAgKBA/6BgAKBgQKBggKBg/6CAAKCAQKCAgKCA/6CgAKCgQKCggKCg/6DAAKDA
QKDAgKDA/6D/AKD/QKD/gKD//8AAAMAAQMAAgMAA/8AgAMAgQMAggMAg/8BAAMBAQMBAgMBA/8Bg
AMBgQMBggMBg/8CAAMCAQMCAgMCA/8CgAMCgQMCggMCg/8DAAMDAQMDAgMDA/8D/AMD/QMD/gMD/
//8AAP8AQP8AgP8A//8gAP8gQP8ggP8g//9AAP9AQP9AgP9A//9gAP9gQP9ggP9g//+AAP+AQP+A
gP+A//+gAP+gQP+ggP+g///AAP/AQP/AgP/A////AP//QP//gP///yH5BAAAAAAALAAAAAAUABQA
AAhCAD8IHEiwoMF/CBMqXKjwA8OHDB1CnPhPIsWHFi8uzKgxIceOFUFuFNmQpEeTCD92VKmR5UWX
FGFOlAmRJkaU/wICADs=
------=_NextPart_000_0000_01C8828C.9D3B4A40--
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -