⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 search.c

📁 合众达的DM642示例工程
💻 C
字号:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <csl_gpio.h>
#include <csl_gpiohal.h>

extern GPIO_Handle hGpio;
//#include <csl_dat.h>
//#include "6416.h"

extern unsigned char threshold=50;


#define QSRC    0x02000024
#define QDST	0x0200002C
#define QCNT	0x02000028
#define QIDX	0x02000030
#define QSOPT	0x02000020
#define	CIPRL   *(int *)0x01A0FFE4

void find(unsigned maddr,unsigned address,unsigned char threshold,int * x,int * y,int * n,int line_num);

int search(unsigned  address,int * x,int * y)
{
	int i,n;
	unsigned line_address;

	line_address = 0x80300000;
	n=0;	
//use QDMA sent data from sdram to L2
//*(int *)(QSRC)  = line_address;
//*(int *)(QDST)  = 0x00008000;
//*(int *)(QCNT)  = 0x000000b4;
//*(int *)(QIDX)  = 0x00000000;
//*(int *)(QSOPT) = 0x41302000;

for(i=0;i<576;i++)
{
	if(n>400) break;
	while(CIPRL&0x00010000==0);
	CIPRL = 0x00010000;	
	if(i%2) 
	{
	line_address = address + 720*((i-1)/2);	
	//*(int *)(QSRC)  = line_address;
	//*(int *)(QDST)  = cap1;
//	*(int *)(QCNT)  = 0x00000168;
//	*(int *)(QIDX)  = 0x00000000;
	//*(int *)(QSOPT) = 0x41302000;
	find(address,line_address,threshold,x,y,&n,i);	
	}
	else
	{
	line_address = address + 720*(i/2+288);	   
//	*(int *)(QSRC)  = line_address;
//	*(int *)(QDST)  = cap2;
//	*(int *)(QCNT)  = 0x00000168;
//	*(int *)(QIDX)  = 0x00000000;
//	*(int *)(QSOPT) = 0x41302000;	
	find(address,line_address,threshold,x,y,&n,i);	
	}
    
}

	if(n) 
	{
		//if(error>0)
		GPIO_pinWrite(hGpio,GPIO_PIN0,1);
		return n;
		
	}
	else return 0;
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -