📄 dm642main.c
字号:
/********************************************************************/
/* Copyright 2004 by SEED Incorporated. */
/* All rights reserved. Property of SEED Incorporated. */
/* Restricted rights to use, duplicate or disclose this code are */
/* granted through contract. */
/* */
/********************************************************************/
#include "seeddm642.h"
#include "vportdis.h"
#include <csl.h>
#include <csl_emifa.h>
#include <csl_irq.h>
#include <csl_chip.h>
// 地址为0 for cvbs port1,选择复合信号做为输入
Uint8 input_sel = 0x00;
Uint8 vFromat = 0;
Uint8 misc_ctrl = 0x6D;
Uint8 output_format = 0x47;
/*地址为0xf,将Pin27设置成为CAPEN功能*/
Uint8 pin_cfg = 0x02;
/*地址为1B*/
Uint8 chro_ctrl_2 = 0x14;
extern far void vectors();
Uint32 i;
/* I2C handle */
extern I2C_Handle SEEDVPM642_I2C_hI2C;
/* I2C handle */
I2C_Handle hI2C;
int portNumber;
/*图像句柄的声明*/
VP_Handle vpHchannel0;
/*此程序可将四个采集口的数据经过Video Port0送出*/
void main()
{
Uint8 addrI2C;
/*-------------------------------------------------------*/
/* perform all initializations */
/*-------------------------------------------------------*/
SEEDVPM642_init();
/*----------------------------------------------------------*/
/*中断向量表的初始化*/
//Point to the IRQ vector table
IRQ_globalDisable();
// IRQ_setVecs(vectors);
for(i = 0;i <0xa00000;i++){}
/*将Vedio Port1设为encoder输出*/
portNumber = 0;
vpHchannel0 = bt656_8bit_ncfd(portNumber);
GPIO_RSET(GPGC,0x0);/*将GPIO0不做为GPINT使用*/
GPIO_RSET(GPEN,0x108);
GPIO_RSET(GPDIR,0x108);/*将GPIO0做为输出*/
GPIO_RSET(GPVAL,0x108);
SEEDDM642_waitusec(0x4a000);
/*GPIO3输出为低*/
GPIO_RSET(GPVAL,0x0);
SEEDDM642_waitusec(0x4a000);
/*GPIO3输出为低*/
GPIO_RSET(GPVAL,0x108);
SEEDDM642_waitusec(0x4a000);
/*GPIO3输出为低*/
GPIO_RSET(GPVAL,0x0);
SEEDDM642_waitusec(0x4a000);
GPIO_RSET(GPVAL,0x108);
SEEDDM642_waitusec(0x4a000);
/*GPIO3输出为低*/
GPIO_RSET(GPVAL,0x0);
/*----------------------------------------------------------*/
/*进行TVP5150pbs的初始化*/
// SEEDDM642_rset(0x16, 1);
/*选择TVP5150,设置第三通路*/
GPIO_RSET(GPGC,0x0);/*将GPIO0不做为GPINT使用*/
GPIO_RSET(GPDIR,0x1);/*将GPIO0做为输出*/
GPIO_RSET(GPVAL,0x0);/*GPIO0输出为高,选择IIC1总线,配置
第二路,即为U21*/
hI2C = SEEDVPM642_I2C_hI2C;
addrI2C = 0xBA >>1;
_IIC_write(hI2C, addrI2C,0x00, input_sel);
_IIC_write(hI2C, addrI2C,0x03, misc_ctrl);
_IIC_write(hI2C, addrI2C,0x0D, output_format);
_IIC_write(hI2C, addrI2C,0x0F, pin_cfg);
_IIC_write(hI2C, addrI2C,0x1B, chro_ctrl_2);
GPIO_RSET(GPVAL,0x1);/*GPIO0输出为高,选择IIC1总线,配置
第二路,即为U23*/
EVMDM642_waitusec(100);
addrI2C = 0xBA >>1;
_IIC_write(hI2C, addrI2C,0x00, input_sel);
_IIC_write(hI2C, addrI2C,0x03, misc_ctrl);
_IIC_write(hI2C, addrI2C,0x0D, output_format);
_IIC_write(hI2C, addrI2C,0x0F, pin_cfg);
_IIC_write(hI2C, addrI2C,0x1B, chro_ctrl_2);
/*----------------------------------------------------------*/
/*测试SEEDVPM642的LED*/
GPIO_RSET(GPGC,0x0);/*将GPIO0不做为GPINT使用*/
GPIO_RSET(GPEN,0x108);
GPIO_RSET(GPDIR,0x108);/*将GPIO0做为输出*/
for(;;)
{
/*GPIO3输出为高*/
GPIO_RSET(GPVAL,0x8);
SEEDDM642_waitusec(0x4a000);
/*GPIO3输出为低*/
GPIO_RSET(GPVAL,0x0);
SEEDDM642_waitusec(0x4a000);
/*GPIO8输出为高*/
GPIO_RSET(GPVAL,0x100);
SEEDDM642_waitusec(0x4a000);
/*GPIO8输出为低*/
GPIO_RSET(GPVAL,0x0);
SEEDDM642_waitusec(0x4a000);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -