亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.c

?? BlackFin與攝像頭的接口程序
?? C
?? 第 1 頁 / 共 2 頁
字號:

#if defined (__ADSPBF561__)
	// to prevent overheating of BF561	
	adi_pwr_SetVoltageRegulator(ADI_PWR_CMD_SET_VR_VLEV, (void *)ADI_PWR_VLEV_110);
#endif	
	
	adi_pwr_GetFreq(&cclk, &sclk, &vco);
	
	// open the uart	
	T_UART_HANDLE hUART = uart_open(0, sclk, 1024, 1024, 0);
	uart_setMode(hUART, UART_BAUD_RATE, UART_NONE, 8, 1);

	uart_writeString (hUART, "Configuring camera modul on PPI1...");

	T_CAMERA_HANDLE phCamera;
	unsigned short pConfigParams[255];
	
#if defined(OV7660)
	if ((nXsize == 320) && (nYsize == 240)) {
		// set configuration parameters for QVGA, ITU656, YUV, 15fps
		cam_paramSet_15_QVGA_YUV_8 (pConfigParams);
	} else {
		// set configuration parameters for VGA, ITU656, YUV, 15fps
		cam_paramSet_15_VGA_YUV_8 (pConfigParams);
	}
#elif defined (OV2640)
	unsigned short nNumParams = cam_paramSet_OV2641_Init(pConfigParams);
#if defined (YUV)	
	cam_paramSet_OV2641_YUV(&pConfigParams[nNumParams]);
#elif defined (RAW)
	cam_paramSet_OV2641_RAW10(&pConfigParams[nNumParams]);
#elif defined (RGB565)
	cam_paramSet_OV2641_RGB565(&pConfigParams[nNumParams]);
#endif
#elif defined (OV2630)
	unsigned short nNumParams = cam_paramSet_OV2630_Init(pConfigParams);
	cam_paramSet_OV2630_UXGA_15fps_RAW10(&pConfigParams[nNumParams]);
#endif
	
	// configure the camera
	T_ERROR_CODE erResult = cam_setup(	&phCamera, 
										CAM_SIO_C_PIN, 
										CAM_SIO_D_PIN,
										CAM_PWDN_PIN,
										CAM_DEVICE_ADDRESS,
										pConfigParams,
										cclk,
										0);
	if (erResult == ERR_NONE) {
		// camera found and initialised
		T_CAMERA_SPEC *hCamera = (T_CAMERA_SPEC *)phCamera;
		
		sprintf (sMessage, "done. Found OV%X connected on PPI1.\xd\xa", hCamera->nCameraID);
		uart_writeString (hUART, (unsigned char *)sMessage);
		
		// give camera time to stabilize the counter for AEC, AWB ...		
		uart_writeString (hUART, "Give camera time to stabilize...\xd\xa");
		Sleep (2500);

		// allocating memory for the image buffer
		char *YUVbuffer = (char *)malloc (nXsize * nYsize * 2);		// 2 byte per pixel
		
		sprintf (sMessage, "Capturing image, resolution: %u X %u...", nXsize, nYsize);
		uart_writeString (hUART, (unsigned char *)sMessage);
#if defined (OV7660)		
		// configure ppi and dma in itu656 mode
		ppi_setup_itu656 (
				0, 
				PPI_SINGLE_SHOT, 
				PPI_MEMORY_WRITE, 
				(unsigned long)YUVbuffer, 
				PPI_FRAMEWISE_INT,
				(T_PPI_CALLBACK)PPIHandler,
				1,
				2,
				PPI_DMA_16_BIT,
				PPI_RECEIVE_ACTIVE_ONLY,
				PPI_16BIT_PACKING,
				PPI_FIELD_BOTH,
				PPI_SKIP_NONE,
				nXsize,
				nYsize,
				0);
#elif defined (OV2640) || defined (OV2630)
#if defined (RAW)
// raw
		ppi_setup_gp ( 	0,
					   	(unsigned long)YUVbuffer,
#if defined (__ADSPBF533__)					   	
						0x882c,
#else						
						0x082c,
#endif						
						nYsize,
						nXsize - 1,
#if defined (__ADSPBF533__)					   	
						348,
#else
						0,
#endif											
						0x00b6,
						nXsize,
						2,
						nYsize,
						2,
						0,
						(T_PPI_CALLBACK)PPIHandler);
#elif defined (YUV)	|| defined (RGB565)					
// YUV4:2:2	or RGB565					
		ppi_setup_gp ( 	0,
					   	(unsigned long)YUVbuffer,
						0x002c,
						nYsize,
						(nXsize * 2) - 1,
						0,
						0x00b2,
						nXsize * 2,
						1,
						nYsize,
						1,
						0,
						(T_PPI_CALLBACK)PPIHandler);
#endif	
#if defined(__ADSPBF537__)
	#include <cdefbf537.h>
	unsigned short nValue = *pPORTG_FER;
	*pPORTG_FER |= 0x03ff;	// enabling PPI data signals (D0 - D9).
	*pPORTG_FER |= 0x03ff;	// enabling PPI data signals (D0 - D9).
	nValue = *pPORT_MUX;
	*pPORT_MUX &= ~0x0200;
	*pPORT_MUX &= ~0x0200;

	// enable the ppi control signals (PPI_FS1, PPI_FS2, PPI_FS3 and PPIClk	
	nValue = *pPORTF_FER;
	*pPORTF_FER |= 0x8380;
	*pPORTF_FER |= 0x8380;
	nValue = *pPORT_MUX;
	*pPORT_MUX |= 0x0100;
	*pPORT_MUX |= 0x0100;
#endif		
#endif
		unsigned long nTimeout = CAPTURE_TIMEOUT;
		// clear flag that signals end of image transfer
		bCapturingFinished = false;
		// enable the ppi dma transfer
		ppi_enable(0);
		// wait for flag that signals end of image transfer
		while (!bCapturingFinished && nTimeout) {
			Sleep (1);						// wait for 1 ms
			nTimeout--;
		}
		// disable the ppi dma transfer
		ppi_disable(0);

		if (!nTimeout) {
			// a timeout occurs
			uart_writeString (hUART, "failed. Timeout error.\xd\xa");
			erCode = 2;
			// free the yuv image buffer
			free (YUVbuffer);
		} else {
			// everthing is fine, process the image
			uart_writeString (hUART, "successfully done.\xd\xa");
		
#if defined (RAW)
			imageConvertRaw10BitOrder (YUVbuffer, nXsize, nYsize);
#if defined (__ADSPBF533__)			
			imageConvertRaw10ToYUV422 (YUVbuffer + 2 * nXsize, YUVbuffer, nXsize, nYsize);
#else			
			imageConvertRaw10ToYUV422 (YUVbuffer, YUVbuffer, nXsize, nYsize);
#endif			
			nXsize = nXsize / 2;	// caused by the demosaicing process
			nYsize = nYsize / 2;	// caused by the demosaicing process
#elif defined (RGB565)
			imageConvertRGB565ToYUV422 (YUVbuffer, YUVbuffer, nXsize, nYsize);
#endif			

	unsigned long nFileSize = 0;
	
#ifdef BMP			
			// convert yuv image to 24bit rgb
			uart_writeString (hUART, "Converting image to RGB 24 bit...");
			char *RGBbuffer = (char *) malloc (nXsize * nYsize * 4);		// 4 byte per pixel
			ConvertYUVToRGB ((unsigned long)YUVbuffer, (unsigned long)RGBbuffer, nXsize, nYsize);
			free (YUVbuffer);
			uart_writeString (hUART, "done.\xd\xa");

			// getting memory for image file buffer
			char *ImageFileBuffer = (char *) malloc (nXsize * nYsize * 4);		// 4 byte per pixel

			// convert to windows bmp format			
			uart_writeString (hUART, "Converting image to windows bmp format...");
			nFileSize = ConvertRGBToWindowsBmp(0, 0, nXsize, nYsize, (unsigned long)RGBbuffer, (unsigned long)ImageFileBuffer);
			uart_writeString (hUART, "done.\xd\xa");
			free (RGBbuffer);
			
#elif defined (JPEG)
			char *ImageFileBuffer = (char *) malloc (nXsize * nYsize * 4);		// 4 byte per pixel
			out_extrn[0] = (unsigned long)ImageFileBuffer;
			jpeg_conversion_setup ();
			int quality	= JPEG_QUALITY;
			// limit quality to maximum	
			if (quality > 101) {
				quality = 101;
			}
			
			// do conversion
			uart_writeString (hUART, "Converting to JPEG...");
			nFileSize = convert_to_jpeg((int)YUVbuffer, nXsize, nYsize, quality);
			sprintf (sMessage, "done. Filesize: %u\xd\xa", nFileSize);
			uart_writeString (hUART, (unsigned char *)sMessage);
			
			free (YUVbuffer);

#else
#error "please select a image file format"
#endif
			
			uart_writeString (hUART, "Start file receiving on your terminal now. Protocol \"xmodem\".\xd\xa");
#ifdef BMP			
			uart_writeString (hUART, "Save file on host pc as \"*.bmp\"...");
#elif defined (JPEG)
			uart_writeString (hUART, "Save file on host pc as \"*.jpg\"...");
#endif			
			// transfering image over the uart with xmodem protocol
			long nBytesTransmittet = XM_TransmitFile (hUART, (unsigned char *)ImageFileBuffer, nFileSize);
			if (nBytesTransmittet > 0) {
				sprintf (sMessage, "successfully done. %u bytes transmittet.\xd\xa", nBytesTransmittet);
				uart_writeString (hUART, (unsigned char *)sMessage);
				uart_writeString (hUART, "You can open the file with an image viewer.\xd\xa");
			} else {
				uart_writeString (hUART, "failed.\xd\xa");
			}
			
			// free the image file buffer
			free (ImageFileBuffer);
		}
	} else {
		// no camera found
		uart_writeString (hUART, "failed. No camera found on PPI1.\xd\xa");
		erCode = 1;
	}
	
	// close the uart
	uart_close (hUART);
	// close the adi interrupt manager
	adi_int_Terminate ();
	
	// entering endless loop
	while (1);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美疯狂性受xxxxx喷水图片| 成人的网站免费观看| 国产精品福利影院| 中文成人av在线| 国产精品三级电影| 亚洲精品免费视频| 亚洲综合清纯丝袜自拍| 一区二区三区不卡视频在线观看| 亚洲一区二区三区四区在线观看| 亚洲一区二区精品视频| 日韩国产精品久久久久久亚洲| 五月婷婷久久丁香| 久久91精品国产91久久小草| 激情综合网激情| 国产91露脸合集magnet| 成人av网站大全| 欧美亚州韩日在线看免费版国语版| 91福利视频在线| 日韩小视频在线观看专区| 2017欧美狠狠色| 亚洲欧美一区二区三区国产精品| 亚洲福利一二三区| 精品午夜一区二区三区在线观看| 国v精品久久久网| 91久久线看在观草草青青| 欧美另类一区二区三区| 久久日韩精品一区二区五区| 国产精品国模大尺度视频| 亚洲一区二区三区免费视频| 久久99精品国产麻豆婷婷 | 欧亚一区二区三区| 日韩一区二区三区四区| 欧美激情在线观看视频免费| 亚洲在线视频一区| 国产传媒欧美日韩成人| 欧美三级韩国三级日本三斤| 亚洲精品一区二区三区香蕉| 一区二区在线观看不卡| 精品在线你懂的| 欧美日韩一区二区三区不卡| 久久免费电影网| 亚洲自拍偷拍网站| 成人小视频在线观看| 欧美精品18+| 亚洲另类在线制服丝袜| 国产成人丝袜美腿| 91精品国产aⅴ一区二区| 亚洲免费资源在线播放| 国产麻豆精品theporn| 欧美日韩三级一区二区| 国产精品久久福利| 国产成人免费av在线| 日韩欧美的一区二区| 亚洲曰韩产成在线| 99天天综合性| 国产网红主播福利一区二区| 蜜乳av一区二区| 欧美日韩国产精品自在自线| 自拍偷拍国产精品| 成人一级片在线观看| 国产色91在线| 国产精品99久久久久久有的能看| 91精品国产日韩91久久久久久| 一区二区国产视频| 色综合久久综合网97色综合 | 色婷婷综合激情| 国产欧美一区二区精品忘忧草| 久久精品国产99| 精品入口麻豆88视频| 免费成人深夜小野草| 欧美一级高清大全免费观看| 日韩精品久久久久久| 欧美男人的天堂一二区| 日韩精品高清不卡| 日韩欧美一区二区免费| 青青草国产成人99久久| 日韩欧美专区在线| 国产一区二区视频在线播放| 精品国精品国产| 国产乱理伦片在线观看夜一区| 精品久久一区二区| 国产成a人亚洲| 中文字幕一区二区三区在线播放| 99久久精品一区二区| 亚洲自拍与偷拍| 日韩一区二区三区视频在线观看| 激情综合网最新| 国产精品久久久久精k8| 91美女在线看| 日韩国产精品91| 久久精品在线观看| 91丨porny丨户外露出| 亚洲综合成人网| 精品欧美乱码久久久久久| 国产精品一区在线观看乱码| 国产丝袜欧美中文另类| 日本黄色一区二区| 美女网站在线免费欧美精品| 亚洲精品在线三区| 成人短视频下载| 亚洲国产精品久久久久秋霞影院| 欧美白人最猛性xxxxx69交| 国产91丝袜在线播放0| 亚洲一区二区精品久久av| 精品处破学生在线二十三| 国产91精品一区二区| 亚洲成a人片在线观看中文| 久久亚洲一区二区三区明星换脸 | 亚洲福利国产精品| 国产午夜精品久久久久久久| 99久久久久久| 久久91精品国产91久久小草 | 欧美日本在线一区| 国产成人综合在线观看| 亚洲成a人片在线观看中文| 久久久久久久综合色一本| 日本韩国欧美在线| 国产裸体歌舞团一区二区| 亚洲精品成人在线| 亚洲国产精品成人综合| 欧美一三区三区四区免费在线看| 国产 日韩 欧美大片| 日本一不卡视频| 亚洲一区视频在线观看视频| 欧美国产一区视频在线观看| 7878成人国产在线观看| 色婷婷国产精品久久包臀| 国产麻豆精品theporn| 奇米一区二区三区| 亚洲综合丁香婷婷六月香| 欧美国产欧美综合| 久久久久一区二区三区四区| 666欧美在线视频| 欧美日韩一级二级| 在线视频国内自拍亚洲视频| 成人高清视频在线观看| 国产成人综合在线| 韩国女主播一区| 老司机午夜精品99久久| 秋霞午夜av一区二区三区| 亚洲午夜久久久久| 亚洲国产一区视频| 一区二区成人在线视频| 亚洲品质自拍视频| 一区二区三区精品视频| 亚洲天堂av一区| 亚洲三级理论片| 一区二区三区在线观看动漫 | 911精品产国品一二三产区| 欧美影院一区二区三区| 欧美中文字幕亚洲一区二区va在线| 成人av网站大全| 一本色道综合亚洲| 欧美日韩精品电影| 欧美日韩一卡二卡| 日韩欧美一级在线播放| 精品国产污污免费网站入口| 欧美精品一区二区三区视频| 欧美电影免费提供在线观看| 欧美大片国产精品| 国产亚洲精品超碰| 国产精品久久久久久妇女6080| 亚洲日本成人在线观看| 亚洲国产日韩在线一区模特| 亚洲高清视频在线| 精品一区二区在线观看| 粉嫩蜜臀av国产精品网站| 97久久超碰国产精品| 欧美日韩亚洲丝袜制服| 欧美一区二区免费| 欧美国产一区二区在线观看| 最新欧美精品一区二区三区| 一区二区在线电影| 捆绑调教一区二区三区| 丁香一区二区三区| 欧美亚洲动漫制服丝袜| 亚洲精品一区二区三区影院| 国产精品久久久一区麻豆最新章节| 亚洲精品国产第一综合99久久| 日韩精品一二三区| 成人午夜视频在线| 欧美日韩高清一区二区不卡| 久久久不卡网国产精品二区| 亚洲美女屁股眼交3| 久久精品国产一区二区三| 99国产精品久| 欧美成人综合网站| 亚洲欧美视频一区| 国产一区久久久| 欧美日韩激情一区二区三区| 精品伦理精品一区| 亚洲一区视频在线| 成人午夜精品在线| 欧美一区二区久久| 亚洲精品国产精华液| 国产成人三级在线观看| 在线成人午夜影院| 亚洲色图在线看| 国产精品综合在线视频| 欧美二区乱c少妇|