📄 yuv.c
字号:
#include <c6x.h>
#include "flash.h"
#include "ICETEKYUV.h"
void Display();
void Througth();
void Capture();
void ReverseDemo();
/* 边缘检测实验程序 */
int main()
{
register int i,j,ii;
/********************* 初始化DSP ***********************/
CSR=0x100; /* 关中断 */
IER=1; /* 屏蔽除NMI中断以外的所有中断 */
ICR=0xffff; /* 清除中断标志位 */
*(unsigned volatile int *)EMIF_GCR = 0x3300; /* EMIF 全局控制字 */
*(unsigned volatile int *)EMIF_CE1 = CE1_32; /* EMIF CE1 control, 32位 */
*(unsigned volatile int *)EMIF_SDCTRL = 0x07126000; /* EMIF SDRAM控制字 */
*(unsigned volatile int *)EMIF_CE0 = 0x30; /* EMIF CE0控制字 */
*(unsigned volatile int *)EMIF_SDRP = 0x61a; /* EMIF SDRM刷新周期 */
*(unsigned volatile int *)EMIF_SDEXT= 0x54529; /* EMIF SDRM扩展 */
/* Read space */
*(unsigned volatile int *)EMIF_CE2 = CE2_32_max; /* EMIF CE2控制字 */
/* Write space */
*(unsigned volatile int *)EMIF_CE3 = CE3_32; /* EMIF CE3控制字 */
delay_msec(ms_period/2);
for(i=0;i<0xff;i++)
{
start_i2c();
stop_i2c();
delay_msec(5);
}
Init_7190();
for(j=0;j<0x5;j++) for(ii=0;ii<0x5;ii++);
Init_7111();
/******************* DSP初始化完毕 ********************/
while ( 1 )
{
Througth(); //直通显示方式
Capture(); //摄入新的帧至RAM,直通显示方式
Display(); //显示RAM中的图象
Througth(); //直通显示方式,为对数据进行操作必须设置直通显示方式
sobel(); //边缘检测,用Sobel边缘检测算子对图象进行边缘检测运算
Display(); //显示处理后的图像
//for(i=0;i<0x7fffff;i++) for ( j=0;j<32;j++); //延时再重做
}
}
/********************************
display()
*********************************/
void Display()
{
int i;
for(i=0;i<0x7fffff;i++);
*(unsigned int *)SYSRREG = 0xc; //显示存储区
}
/********************************
throught()
*********************************/
void Througth()
{
int i;
for(i=0;i<0x7fffff;i++);
*(unsigned int *)SYSRREG = 0xa; //直通显示
}
/********************************
display()
*********************************/
void Capture()
{
int i;
for(i=0;i<0x7fffff;i++);
*(unsigned int *)SYSRREG = 0x9; //采集视频信号
}
void ReverseDemo()
{
int i,j;
int ii;
unsigned int *video_ptr;
video_ptr = (unsigned int *)VIDEO_START;
for(i=0;i<576;i++) //行576
{
for(j=0;j<360;j++) //列720点,360个32bit字,
{
ii = ~(*(video_ptr+j));
ii &= 0xff00ff00;
ii |= 0x00800080; //cb cr置80显示灰度图象
*(video_ptr + j) = ii;
}
video_ptr += 512;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -