📄 pic.c
字号:
#include <csl.h>
#include <csl_emifa.h>
#include <csl_i2c.h>
#include <csl_gpio.h>
#include <csl_gpiohal.h>
#include <csl_irq.h>
#include <csl_chip.h>
#include <csl_dat.h>
#include "iic.h"
#include "vportcap.h"
#include "vportdis.h"
extern unsigned char threshold;
//int numPixels = 720;//每行720个像素
//int numLines = 576;//每帧576行(PAL)
void copy()
{Uint16 i;
for(i=0;i<576;i++)
{
/*传送Y缓冲区*/
DAT_copy((void *)(0x80300000 + i * 720),
(void *)(0x80100000 + i * 720),
720);
/*传送Cb缓冲区*/
DAT_copy((void *)(0x803675c0 + i * (720 >> 1)),
(void *)(0x801675c0 + i * (720 >> 1)),
720>>1);
/*传送Cr缓冲区*/
DAT_copy((void *)(0x8039b0a0 + i * (720 >> 1)),
(void *)(0x8019b0a0 + i * (720 >> 1)),
720>>1);
}
for(i=0;i<576;i++)
{
/*传送Y缓冲区*/
DAT_copy((void *)(0x80300000 + i * 720),
(void *)(0x80200000 + i * 720),
720);
/*传送Cb缓冲区*/
DAT_copy((void *)(0x803675c0 + i * (720 >> 1)),
(void *)(0x802675c0 + i * (720 >> 1)),
720>>1);
/*传送Cr缓冲区*/
DAT_copy((void *)(0x8039b0a0 + i * (720 >> 1)),
(void *)(0x8029b0a0 + i * (720 >> 1)),
720>>1);
}
}
void color(Uint32 ad)
{
Uint8 i,j;
if(threshold<40)
for(i=5;i<15;i++)
{
for(j=15;j<26;j++)
{
*(int *)(ad + (260+i)*720 + (20+j) + 0x32a00) = 0x5a5a5a5a;
*(int *)(ad + (260+i)*720 + (20+j) ) = 0x5a5a5a5a;
*(int *)(ad+0x675c0 + (260+i)*360 + (20+j)/2 + 0x19500) = 0x94949494;//*(int *)(0x801675c0 + (260+i)*360 + (20+j)/2 + 0x19500)&&color12[i-5][j-15];
*(int *)(ad+0x675c0 + (260+i)*360 + (20+j)/2 ) = 0x94949494;//*(int *)(0x801675c0 + (260+i)*360 + (20+j)/2 )&&color12[i-5][j-15];
*(int *)(ad+0x9b0a0 + (260+i)*360 + (20+j)/2 + 0x19500) = 0xf5f5f5f5;//*(int *)(0x8019b0a0 + (260+i)*360 + (20+j)/2 + 0x19500)&&color15[i-5][j-15];
*(int *)(ad+0x9b0a0 + (260+i)*360 + (20+j)/2 ) = 0xf5f5f5f5;//*(int *)(0x8019b0a0 + (260+i)*360 + (20+j)/2 )&&color15[i-5][j-15];
}
}
if((threshold>=40)&&(threshold<60))
for(i=5;i<15;i++)
{
for(j=15;j<26;j++)
{
*(int *)(ad + (260+i)*720 + (20+j) + 0x32a00) = 0x9a9a9a9a;
*(int *)(ad + (260+i)*720 + (20+j) ) = 0x9a9a9a9a;
*(int *)(ad+0x675c0 + (260+i)*360 + (20+j)/2 + 0x19500) = 0x10101010;//*(int *)(0x801675c0 + (260+i)*360 + (20+j)/2 + 0x19500)&&color12[i-5][j-15];
*(int *)(ad+0x675c0 + (260+i)*360 + (20+j)/2 ) = 0x10101010;//*(int *)(0x801675c0 + (260+i)*360 + (20+j)/2 )&&color12[i-5][j-15];
*(int *)(ad+0x9b0a0 + (260+i)*360 + (20+j)/2 + 0x19500) = 0x4b4b4b4b;//*(int *)(0x8019b0a0 + (260+i)*360 + (20+j)/2 + 0x19500)&&color15[i-5][j-15];
*(int *)(ad+0x9b0a0 + (260+i)*360 + (20+j)/2 ) = 0x4b4b4b4b;//*(int *)(0x8019b0a0 + (260+i)*360 + (20+j)/2 )&&color15[i-5][j-15];
}
}
if((threshold>=60)&&(threshold<80))
for(i=5;i<15;i++)
{
for(j=15;j<26;j++)
{
*(int *)(ad + (260+i)*720 + (20+j) + 0x32a00) = 0xdfdfdfdf;
*(int *)(ad + (260+i)*720 + (20+j) ) = 0xdfdfdfdf;
*(int *)(ad+0x675c0 + (260+i)*360 + (20+j)/2 + 0x19500) = 0x94949494;//*(int *)(0x801675c0 + (260+i)*360 + (20+j)/2 + 0x19500)&&color12[i-5][j-15];
*(int *)(ad+0x675c0 + (260+i)*360 + (20+j)/2 ) = 0x94949494;//*(int *)(0x801675c0 + (260+i)*360 + (20+j)/2 )&&color12[i-5][j-15];
*(int *)(ad+0x9b0a0 + (260+i)*360 + (20+j)/2 + 0x19500) = 0x0;//*(int *)(0x8019b0a0 + (260+i)*360 + (20+j)/2 + 0x19500)&&color15[i-5][j-15];
*(int *)(ad+0x9b0a0 + (260+i)*360 + (20+j)/2 ) = 0x0;//*(int *)(0x8019b0a0 + (260+i)*360 + (20+j)/2 )&&color15[i-5][j-15];
}
}
if((threshold>=80)&&(threshold<100))
for(i=5;i<15;i++)
{
for(j=15;j<26;j++)
{
*(int *)(ad + (260+i)*720 + (20+j) + 0x32a00) = 0xdfdfdfdf;
*(int *)(ad + (260+i)*720 + (20+j) ) = 0xdfdfdfdf;
*(int *)(ad+0x675c0 + (260+i)*360 + (20+j)/2 + 0x19500) = 0;//(int *)(0x801675c0 + (260+i)*360 + (20+j)/2 + 0x19500)&&color12[i-5][j-15];
*(int *)(ad+0x675c0 + (260+i)*360 + (20+j)/2 ) = 0;//(int *)(0x801675c0 + (260+i)*360 + (20+j)/2 )&&color12[i-5][j-15];
*(int *)(ad+0x9b0a0 + (260+i)*360 + (20+j)/2 + 0x19500) = 0x94949494;//(int *)(0x8019b0a0 + (260+i)*360 + (20+j)/2 + 0x19500)&&color15[i-5][j-15];
*(int *)(ad+0x9b0a0 + (260+i)*360 + (20+j)/2 ) = 0x94949494;//(int *)(0x8019b0a0 + (260+i)*360 + (20+j)/2 )&&color15[i-5][j-15];
}
}
if(threshold>=100)
for(i=5;i<15;i++)
{
for(j=15;j<26;j++)
{
*(int *)(ad + (260+i)*720 + (20+j) + 0x32a00) = 0x49494949;
*(int *)(ad + (260+i)*720 + (20+j) ) = 0x49494949;
*(int *)(ad+0x675c0 + (260+i)*360 + (20+j)/2 + 0x19500) = 0xe6e6e6e6;
*(int *)(ad+0x675c0 + (260+i)*360 + (20+j)/2 ) = 0xe6e6e6e6;
*(int *)(ad+0x9b0a0 + (260+i)*360 + (20+j)/2 + 0x19500) = 0xb6b6b6b6;
*(int *)(ad+0x9b0a0 + (260+i)*360 + (20+j)/2 ) = 0xb6b6b6b6;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -