📄 init_ve.c
字号:
#include "i2c.h"
// If Error.
void inline retu (int ret) {
printf("error %d\n", ret);
//LEDS = 0x0001;
//while (1);
}
void Init_ADV7171()
{
int ret = 0, j;
unsigned int i, k;
// Init I2C for ADV7171 Indent addr. ADV7171_IDENT=0x54 steht in vid out.h
/*for (j=0x0; j<0xff; j=j+2) {
if (!I2C_Init(j)) {
printf("addr: %d\n", j);
}
else
break;
//for (k=0; k<0xffff; k++)
// asm ("nop;");
}
if (!I2C_Init(0x80)) {
printf("Error");
}
printf ("Fertig");
*/
Init ();
//#i2c konfiguration: => im 7171dbl auf seite 22 zu finden
//# komplette i2c konfiguration f黵 PAL b,d,... modus ist auf seite 42
//# unter RECOMMENDED REGISTER VALUES zu finden!
// Setup ADV7171 Encoder. (PAL B, D, G, H, I)
if (I2C_Write(0x05, 0x00)) //# mode register 0 auf PAL und PAL B,D,G,H,I
retu (2);
if (I2C_Write(0x00, 0x01)) //# mode register 1
retu ( 3);
if (I2C_Write(0x00, 0x02)) //# mode register 2
retu ( 4);
if (I2C_Write(0x00, 0x03)) //# mode register 3
retu ( 5);
if (I2C_Write(0x00, 0x04)) //# mode register 4
retu ( 6);
if (I2C_Write(0x00, 0x07)) //# timing mode register 0
retu ( 7);
if (I2C_Write(0x00, 0x08)) //# timing mode register 1
retu (8);
// subcarrier frequ reg m黶sen wegen pal modus ge鋘dert werden siehe adv7171 pdf seite 28
// mit der formel von der seite 28 werden die subcarrier frequ reg berechnet
// fscf = 4.43361875 (von seite 42), fclk bleibt 27Mhz
if (I2C_Write(0xCB, 0x09)) //# SUBCARRIER FREQUENCY REGISTER 0
retu ( 9);
if (I2C_Write(0x8A, 0x0A)) //# SUBCARRIER FREQUENCY REGISTER 1
retu ( 10);
if (I2C_Write(0x09, 0x0B)) //# SUBCARRIER FREQUENCY REGISTER 2
retu ( 11);
if (I2C_Write(0x2A, 0x0C)) //# SUBCARRIER FREQUENCY REGISTER 3
retu ( 12);
if (I2C_Write(0x00, 0x0D)) //# SUBCARRIER PHASE REGISTER
retu ( 13);
if (I2C_Write(0x00, 0x0E)) //# CLOSED CAPTIONING EXTENDED DATA-BYTE 0
retu ( 14);
if (I2C_Write(0x00, 0x0F)) //# CLOSED CAPTIONING EXTENDED DATA-BYTE 1
retu ( 15);
if (I2C_Write(0x00, 0x10)) //# CLOSED CAPTIONING DATA-BYTE 0
retu ( 16);
if (I2C_Write(0x00, 0x11)) //# CLOSED CAPTIONING DATA-BYTE 1
retu ( 17);
if (I2C_Write(0x00, 0x12)) //# PAL TTX CONTROL REG 0
retu ( 18);
if (I2C_Write(0x00, 0x13)) //# PAL TTX CONTROL REG 1
retu ( 19);
if (I2C_Write(0x00, 0x14)) //# PAL TTX CONTROL REG 2
retu ( 20);
if (I2C_Write(0x00, 0x15)) //# PAL TTX CONTROL REG 3
retu ( 21);
if (I2C_Write(0x00, 0x16)) //# CGMS_WSS_0
retu ( 22);
if (I2C_Write(0x00, 0x17)) //# CGMS_WSS_1
retu ( 23);
if (I2C_Write(0x00, 0x18)) //# CGMS_WSS_2
retu ( 24);
if (I2C_Write(0x00, 0x19)) //# TELETEXT REQUEST CONTROL REGISTER
retu ( 25);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -