?? vcodec.c
字號:
#include <stdio.h>
extern int init_I2C(); /*Initialize the I2C bus*/
extern int write_7113(unsigned char, unsigned char);
extern unsigned char read_7113(unsigned char address);
extern int write_7121(unsigned char address, unsigned char value);
extern unsigned char read_7121(unsigned char address);
extern int release_I2C(); /*Release the I2C bus*/
int main(int argc, char ** argv)
{
int i;
unsigned char value;
if(argc==2 && *argv[1]>='5'){
printf("Usage: vcodec <mode>\n");
printf(" 0: Set 7113 and 7121\n");
printf(" 1: Set 7113\n");
printf(" 2: Set 7121\n");
printf(" 3: Read 7113\n");
printf(" 4: Let 7121 output color bar\n");
printf(" others: print this message\n");
return 0;
}
printf("Beginning to initialize the i2c bus ...\n");
if(init_I2C()){
return -1;
}
if(argc<=1 || *argv[1]=='0' || *argv[1]=='2' || *argv[1]=='4'){
write_7121(0x26, 0x00);
write_7121(0x27, 0x00);
write_7121(0x28, 0x21);
write_7121(0x29, 0x1d);
if(argc==2 && *argv[1]=='4')
write_7121(0x3a, 0x93);
else
write_7121(0x3a, 0x13);
write_7121(0x5a, 0x0c);
write_7121(0x5b, 0x7d);
write_7121(0x5c, 0xaf);
write_7121(0x5d, 0x23);
write_7121(0x5e, 0x35);
write_7121(0x5f, 0x35);
write_7121(0x60, 0x00);
write_7121(0x61, 0x06);
write_7121(0x62, 0x2f);
write_7121(0x63, 0xcb);
write_7121(0x64, 0x8a);
write_7121(0x65, 0x09);
write_7121(0x66, 0x2a);
write_7121(0x67, 0x55);
write_7121(0x68, 0x56);
write_7121(0x69, 0x67);
write_7121(0x6a, 0x58);
write_7121(0x6b, 0x20);
write_7121(0x6c, 0x05);
write_7121(0x6d, 0x20);
write_7121(0x6e, 0xa0);
write_7121(0x6f, 0x14);
write_7121(0x70, 0x80);
write_7121(0x71, 0xe8);
write_7121(0x72, 0x10);
write_7121(0x73, 0x42);
write_7121(0x74, 0x03);
write_7121(0x75, 0x03);
write_7121(0x76, 0x05);
write_7121(0x77, 0x16);
write_7121(0x78, 0x04);
write_7121(0x79, 0x16);
write_7121(0x7a, 0x18);
write_7121(0x7b, 0x38);
write_7121(0x7c, 0x40);
write_7121(0x7d, 0x00);
write_7121(0x7e, 0x00);
write_7121(0x7f, 0x00);
}
if(argc<=1 || *argv[1]=='0' || *argv[1]=='1'){
write_7113(0x09, 0x01);
write_7113(0x0A, 0x80);
write_7113(0x0B, 0x47);
write_7113(0x11, 0x0C);
write_7113(0x12, 0xB8);
write_7113(0x01, 0x08);
write_7113(0x02, 0xC3);
write_7113(0x03, 0x33);
write_7113(0x04, 0x00);
write_7113(0x05, 0x00);
write_7113(0x06, 0xEB);
write_7113(0x07, 0xE0);
write_7113(0x08, 0xB8);
write_7113(0x0C, 0x40);
write_7113(0x0D, 0x00);
write_7113(0x0E, 0x01);
//write_7113(0x0F, 0x00);
write_7113(0x10, 0x00);
write_7113(0x13, 0x00);
write_7113(0x14, 0x00);
write_7113(0x15, 0x00);
write_7113(0x16, 0x00);
write_7113(0x17, 0x00);
for(i=0x18;i<=0x1E;i++)
write_7113(i, 0x00);
for(i=0x20;i<=0x3F;i++)
write_7113(i, 0x00);
write_7113(0x40, 0x02);
for(i=0x41;i<=0x57;i++)
write_7113(i, 0xFF);
write_7113(0x58, 0x00);
write_7113(0x59, 0x54);
write_7113(0x5A, 0x07);
write_7113(0x5B, 0x83);
for(i=0x5C;i<=0x5D;i++)
write_7113(i, 0x00);
write_7113(0x5E, 0x00);
write_7113(0x5F, 0x00);
}
if(argc==2 && *argv[1]=='3'){
for(i=0x01;i<=0x5F;i++){
value = read_7113(i);
printf("Info: Read 0x%02X at SAA7113 0x%02X.\n",value, i);
}
}
printf("Beginning to release the i2c bus ...\n");
if(release_I2C()){
return -1;
}
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -