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

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

?? i2c.c

?? SigmDesign SMP8634 media decode chip development SDK
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include "i2c.h"//#include "play_capture_TW.h"RMuint32 I2C_ModuleID_NEW = I2C;//to enable or disable the debug messages of this source file, put 1 or 0 below#if 1#define LOCALDBG ENABLE#else#define LOCALDBG DISABLE#endif#if 1RMstatus init_i2c( struct RUA *pInstance, 				  RMuint8 delay, 				  RMuint8 dev, 				  RMuint8 i2c_data[][2], 				  RMuint32 data_size){	RMstatus err=RM_OK;	RMuint32 i;		struct I2C_DeviceParams_type i2c;	struct I2C_WriteRMuint8_type i2c_write;		i2c.PioClock = 0;	i2c.PioData = 1;	i2c.WrAddr = dev << 1;	i2c.RdAddr = i2c.WrAddr | 0x01;	i2c.DelayUs = delay;		err = RUASetProperty(pInstance, I2C_ModuleID_NEW, RMI2CPropertyID_DeviceParams, &i2c, sizeof(i2c), 0);	for (i = 0; i < data_size; i++) {		i2c_write.SubAddr = i2c_data[i][0];		i2c_write.Data = i2c_data[i][1];		//		err=write_i2c(pInstance,delay,dev,(RMuint32)i2c_data[i][0],(RMuint32)i2c_data[i][1]);		err = RUASetProperty(pInstance, I2C_ModuleID_NEW, RMI2CPropertyID_WriteRMuint8, &i2c_write, sizeof(i2c_write), 0);				if (RMFAILED(err)) RMDBGPRINT((ENABLE, "Failed to write 0x%02X to i2c 0x%02X:0x%02X\n", i2c_data[i][1], i2c.WrAddr, i2c_data[i][0]));	}	return err;//	return RM_OK ;}#elseRMstatus init_i2c(				  struct RUA *pInstance, 				  RMuint8 delay, 				  RMuint8 dev, 				  RMuint8 i2c_data[][2], 				  RMuint32 data_size){	RMstatus err=RM_OK;	RMuint32 i;	RMuint32 regAdd;	RMuint32 regVal;		for (i = 0; i < data_size; i++) {		regAdd= 0xff & i2c_data[i][0] ;		regVal = 0xff & i2c_data[i][1];		err=write_i2c(pInstance,delay,dev,regAdd,regVal);				if (err!=RM_OK) {			printf("can write i2c \n");			return err;		}		usleep(50);	}	return err;}#endifRMstatus write_i2c(						  struct RUA *pInstance, 						  RMuint8 delay, 						  RMuint32 dev, 						  RMuint32 addr, 						  RMuint32 data){	RMstatus err;	struct I2C_DeviceParams_type i2c;	struct I2C_WriteRMuint8_type i2c_write;		i2c.PioClock = 0;	i2c.PioData = 1;	i2c.WrAddr = dev << 1;	i2c.RdAddr = i2c.WrAddr | 0x01;	i2c.DelayUs = delay;	err = RUASetProperty(pInstance, I2C_ModuleID_NEW, RMI2CPropertyID_DeviceParams, &i2c, sizeof(i2c), 0);	i2c_write.SubAddr = addr;	i2c_write.Data = data;	err = RUASetProperty(pInstance, I2C_ModuleID_NEW, RMI2CPropertyID_WriteRMuint8, &i2c_write, sizeof(i2c_write), 0);	//	if (RMSUCCEEDED(err)) RMDBGPRINT((ENABLE, "Wrote 0x%02X to i2c 0x%02X:0x%02X\n", data, i2c.WrAddr, addr));	//	else RMDBGPRINT((ENABLE, "Failed to write 0x%02X to i2c 0x%02X:0x%02X\n", data, i2c.WrAddr, addr));	return err;//	return RM_OK ;	}RMstatus read_i2c(						 struct RUA *pInstance, 						 RMuint8 delay, 						 RMuint32 dev, 						 RMuint32 addr, 						 RMuint32 *data){	RMstatus err;	struct I2C_DeviceParams_type i2c;	struct I2C_QueryRMuint8_in_type i2c_param;	struct I2C_QueryRMuint8_out_type i2c_res;		i2c.PioClock = 0;	i2c.PioData = 1;	i2c.WrAddr = dev << 1;	i2c.RdAddr = i2c.WrAddr | 0x01;	i2c.DelayUs = delay;	err = RUASetProperty(pInstance, I2C_ModuleID_NEW, RMI2CPropertyID_DeviceParams, &i2c, sizeof(i2c), 0);	i2c_param.SubAddr = addr;	err = RUAExchangeProperty(pInstance, I2C_ModuleID_NEW, RMI2CPropertyID_QueryRMuint8, 		&i2c_param, sizeof(i2c_param), 		&i2c_res, sizeof(i2c_res));	//	if (RMSUCCEEDED(err)) RMDBGPRINT((ENABLE, "Reading 0x%02X from i2c 0x%02X:0x%02X\n", i2c_res.Data, i2c.RdAddr, addr));	//	else RMDBGPRINT((ENABLE, "Failed to read from i2c 0x%02X:0x%02X\n", i2c.RdAddr, addr));	*data = i2c_res.Data;	return err;//	return RM_OK ;	}RMstatus read_i2c_data(					   struct RUA *pInstance, 					   RMuint8 delay, 					   RMuint32 dev, 					   RMuint32 addr, 					   RMuint8 *data, 					   RMuint32 data_size){	RMstatus err;	struct I2C_DeviceParams_type i2c;	struct I2C_QueryData_in_type i2c_param; 	struct I2C_QueryData_out_type i2c_res;		i2c.PioClock = 0;	i2c.PioData = 1;	i2c.WrAddr = dev << 1;	i2c.RdAddr = i2c.WrAddr | 0x01;	i2c.DelayUs = delay;	err = RUASetProperty(pInstance, I2C_ModuleID_NEW, RMI2CPropertyID_DeviceParams, &i2c, sizeof(i2c), 0);	i2c_param.UseSubAddr = TRUE;	i2c_param.SubAddr = addr;	i2c_param.DataSize = data_size;	err = RUAExchangeProperty(pInstance, I2C_ModuleID_NEW, RMI2CPropertyID_QueryData, 		&i2c_param, sizeof(i2c_param), 		&i2c_res, sizeof(i2c_res));	if (RMFAILED(err)) {		RMDBGLOG((LOCALDBG, "Error setting RMI2CPropertyID_QueryData(0x%02X:0x%02X, 0x%02X) on I2C 0x%08lX GPIO %lu/%lu! %s\n", 			i2c.WrAddr, i2c_param.SubAddr, i2c_param.DataSize, 			I2C_ModuleID_NEW, i2c.PioClock, i2c.PioData, 			RMstatusToString(err)));	}	RMMemcpy(data, i2c_res.Data, data_size);	return err;//	return RM_OK ;}RMstatus read_i2c_control_msp4450g(										  struct RUA *pInstance, 										  RMuint8 delay, 										  RMuint32 dev, 										  RMuint32 sub,										  RMuint32 *data){	RMstatus err;		struct I2C_DeviceParams_type i2c;	struct I2C_WriteData_type i2c_write;			struct I2C_QueryData_in_type i2c_param; 	struct I2C_QueryData_out_type i2c_res;		i2c.PioClock = 0;	i2c.PioData = 1;	i2c.WrAddr = dev << 1;	i2c.RdAddr = i2c.WrAddr | 0x01;	i2c.DelayUs = delay;	err = RUASetProperty(pInstance, I2C_ModuleID_NEW, RMI2CPropertyID_DeviceParams, &i2c, sizeof(i2c), 0);		i2c_write.UseSubAddr = FALSE;	i2c_write.SubAddr = sub;	i2c_write.DataSize = 1;	i2c_write.Data[0] = sub;		err = RUASetProperty(pInstance, I2C_ModuleID_NEW, RMI2CPropertyID_WriteData, &i2c_write, sizeof(i2c_write), 0);	if (RMFAILED(err)) RMDBGPRINT((ENABLE, "Failed to write 0x%02X%02X to i2c 0x%02X\n", i2c_write.Data[0], i2c_write.Data[1], i2c.WrAddr));		i2c_param.UseSubAddr = TRUE;	i2c_param.SubAddr = sub;	i2c_param.DataSize = 2;		err = RUAExchangeProperty(pInstance, I2C_ModuleID_NEW, RMI2CPropertyID_QueryData, 		&i2c_param, sizeof(i2c_param), 		&i2c_res, sizeof(i2c_res));		if (RMFAILED(err)) {		RMDBGLOG((LOCALDBG, "Error setting RMI2CPropertyID_QueryData(0x%02X:0x%02X, 0x%02X) on I2C 0x%08lX GPIO %lu/%lu! %s\n", 			i2c.WrAddr, i2c_param.SubAddr, i2c_param.DataSize, 			I2C_ModuleID_NEW, i2c.PioClock, i2c.PioData, 			RMstatusToString(err)));	}		*data=(i2c_res.Data[0] & 0xff) ;	*data = *data << 8;	*data=*data | (i2c_res.Data[1] & 0xff);		return err;//	return RM_OK ;	}RMstatus write_i2c_control_msp4450g(										   struct RUA *pInstance, 										   RMuint8 delay, 										   RMuint32 dev, 										   RMuint32 sub,										   RMuint32 data){	RMstatus err;		struct I2C_DeviceParams_type i2c;	struct I2C_WriteData_type i2c_write;			i2c.PioClock = 0;	i2c.PioData = 1;	i2c.WrAddr = dev << 1;	i2c.RdAddr = i2c.WrAddr | 0x01;	i2c.DelayUs = delay;	err = RUASetProperty(pInstance, I2C_ModuleID_NEW, RMI2CPropertyID_DeviceParams, &i2c, sizeof(i2c), 0);		i2c_write.UseSubAddr = TRUE;	i2c_write.SubAddr = sub;	i2c_write.DataSize = 2;	i2c_write.Data[0] = (data & 0xff00) >> 8;	i2c_write.Data[1] = (data & 0xff);		err = RUASetProperty(pInstance, I2C_ModuleID_NEW, RMI2CPropertyID_WriteData, &i2c_write, sizeof(i2c_write), 0);	if (RMFAILED(err)) RMDBGPRINT((ENABLE, "Failed to write 0x%02X%02X to i2c 0x%02X\n", i2c_write.Data[0], i2c_write.Data[1], i2c.WrAddr));		return err;//	return RM_OK ;	}// Demod or DSPRMstatus read_i2c_dsp_msp4450g(									  struct RUA *pInstance, 									  RMuint8 delay, 									  RMuint32 dev, 									  RMuint32 sub,									  RMuint32 addr, 									  RMuint32 *data){	RMstatus err;		struct I2C_DeviceParams_type i2c;	struct I2C_WriteData_type i2c_write;			struct I2C_QueryData_in_type i2c_param; 	struct I2C_QueryData_out_type i2c_res;		i2c.PioClock = 0;	i2c.PioData = 1;	i2c.WrAddr = dev << 1;	i2c.RdAddr = i2c.WrAddr | 0x01;	i2c.DelayUs = delay;	err = RUASetProperty(pInstance, I2C_ModuleID_NEW, RMI2CPropertyID_DeviceParams, &i2c, sizeof(i2c), 0);		i2c_write.UseSubAddr = TRUE;	i2c_write.SubAddr = sub;	i2c_write.DataSize = 2;	i2c_write.Data[0] = (addr & 0xff00) >> 8;	i2c_write.Data[1] = addr & 0x00FF;			err = RUASetProperty(pInstance, I2C_ModuleID_NEW, RMI2CPropertyID_WriteData, &i2c_write, sizeof(i2c_write), 0);	if (RMFAILED(err)) RMDBGPRINT((ENABLE, "Failed to write 0x%02X%02X to i2c 0x%02X\n", i2c_write.Data[0], i2c_write.Data[1], i2c.WrAddr));		i2c_param.UseSubAddr = TRUE;	i2c_param.SubAddr = sub;	i2c_param.DataSize = 2;		err = RUAExchangeProperty(pInstance, I2C_ModuleID_NEW, RMI2CPropertyID_QueryData, 		&i2c_param, sizeof(i2c_param), 		&i2c_res, sizeof(i2c_res));		if (RMFAILED(err)) {		RMDBGLOG((LOCALDBG, "Error setting RMI2CPropertyID_QueryData(0x%02X:0x%02X, 0x%02X) on I2C 0x%08lX GPIO %lu/%lu! %s\n", 			i2c.WrAddr, i2c_param.SubAddr, i2c_param.DataSize, 			I2C_ModuleID_NEW, i2c.PioClock, i2c.PioData, 			RMstatusToString(err)));	}		*data=(i2c_res.Data[0] & 0xff) ;	*data = *data << 8;	*data=*data | (i2c_res.Data[1] & 0xff);		return err;//	return RM_OK ;	}RMstatus write_i2c_dsp_msp4450g(									   struct RUA *pInstance, 									   RMuint8 delay, 									   RMuint32 dev, 									   RMuint32 sub,									   RMuint32 addr, 									   RMuint32 data){	RMstatus err;		struct I2C_DeviceParams_type i2c;	struct I2C_WriteData_type i2c_write;			i2c.PioClock = 0;	i2c.PioData = 1;	i2c.WrAddr = dev << 1;	i2c.RdAddr = i2c.WrAddr | 0x01;	i2c.DelayUs = delay;	err = RUASetProperty(pInstance, I2C_ModuleID_NEW, RMI2CPropertyID_DeviceParams, &i2c, sizeof(i2c), 0);		i2c_write.UseSubAddr = TRUE;	i2c_write.SubAddr = sub;	i2c_write.DataSize = 4;	i2c_write.Data[0] = (addr & 0xff00) >> 8;	i2c_write.Data[1] = addr & 0x00FF;	i2c_write.Data[2] = (data & 0xff00) >> 8;	i2c_write.Data[3] = data & 0x00FF;			err = RUASetProperty(pInstance, I2C_ModuleID_NEW, RMI2CPropertyID_WriteData, &i2c_write, sizeof(i2c_write), 0);	if (RMFAILED(err)) RMDBGPRINT((ENABLE, "Failed to write 0x%02X%02X to i2c 0x%02X\n", i2c_write.Data[0], i2c_write.Data[1], i2c.WrAddr));			return err;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频在线观看一区| 亚洲成人自拍网| 欧美福利一区二区| av在线播放一区二区三区| 奇米色一区二区三区四区| 亚洲视频在线一区| 国产色综合久久| 欧美日韩国产一二三| 99久久99久久综合| 国产一区二区三区久久久| 日韩av成人高清| 亚洲精品免费播放| 中文字幕av在线一区二区三区| 欧美一级免费观看| 欧美午夜不卡视频| 91在线播放网址| 成人午夜电影小说| 国产一区二区三区久久悠悠色av| 天天av天天翘天天综合网| 亚洲欧美日韩国产手机在线| 国产日韩欧美在线一区| 久久亚洲精品国产精品紫薇| 欧美一区二区三区免费观看视频 | 亚洲色图在线视频| 国产欧美一区二区精品忘忧草| 日韩午夜激情av| 欧美精品 国产精品| 色狠狠色噜噜噜综合网| 91免费国产在线| a亚洲天堂av| av午夜精品一区二区三区| 国产成a人亚洲| 国产一区二区三区免费看| 蜜乳av一区二区三区| 日韩va欧美va亚洲va久久| 亚洲图片欧美视频| 亚洲高清免费视频| 亚洲成在线观看| 天堂在线亚洲视频| 日本一不卡视频| 青草国产精品久久久久久| 免费成人在线观看| 久久福利视频一区二区| 激情综合色综合久久综合| 另类专区欧美蜜桃臀第一页| 麻豆精品视频在线观看免费| 美国十次综合导航| 国产一区二区三区久久悠悠色av | 在线观看成人小视频| 91九色最新地址| 欧美人妖巨大在线| 欧美电影免费观看高清完整版在线观看| 在线播放日韩导航| 精品免费视频一区二区| 久久久久88色偷偷免费| 亚洲国产高清在线观看视频| 亚洲少妇屁股交4| 亚洲国产cao| 久久99久久99小草精品免视看| 久久99精品久久久久| 国产成人免费视频网站| 99国产精品久久久久久久久久久| 91久久精品一区二区三区| 国产欧美一区二区三区网站| 国产精品女主播av| 洋洋成人永久网站入口| 麻豆精品一二三| 成人精品视频.| 欧美无人高清视频在线观看| 3d动漫精品啪啪1区2区免费| 久久久久国产精品人| 一区二区三区日韩欧美| 久久99精品国产.久久久久久 | 亚洲r级在线视频| 美女在线视频一区| www.66久久| 欧美精品xxxxbbbb| 国产亚洲精品福利| 亚洲高清视频的网址| 国产一区二区成人久久免费影院| 91影院在线观看| 欧美xxx久久| 亚洲精品国久久99热| 久热成人在线视频| 91在线免费视频观看| 欧美一级xxx| 亚洲同性同志一二三专区| 蜜臀av在线播放一区二区三区| 不卡的av中国片| 日韩免费在线观看| 亚洲另类一区二区| 国产不卡视频在线播放| 制服丝袜中文字幕一区| 国产精品剧情在线亚洲| 免费观看91视频大全| 色婷婷av一区二区三区软件| 亚洲精品一区二区三区在线观看| 一区二区三区电影在线播| 韩国女主播一区| 69堂国产成人免费视频| 亚洲欧美一区二区三区国产精品| 久久精品国产一区二区| 欧美日韩中文字幕一区二区| 国产亲近乱来精品视频| 免费观看30秒视频久久| 欧美三级日本三级少妇99| 国产精品美女久久久久久2018| 青娱乐精品在线视频| 91久久奴性调教| 中文字幕在线一区二区三区| 国产露脸91国语对白| 日韩一区二区三区观看| 亚洲午夜精品17c| 9久草视频在线视频精品| 久久久久久久久岛国免费| 日韩av中文在线观看| 91麻豆文化传媒在线观看| 国产精品蜜臀av| 国产资源在线一区| 日韩精品一区二区三区四区视频 | 中文一区在线播放| 国内精品第一页| 欧美mv日韩mv国产网站app| 午夜精品福利久久久| 91视频免费看| 亚洲欧美激情视频在线观看一区二区三区| 国产河南妇女毛片精品久久久| 久久综合色婷婷| 久久99国产精品久久| 亚洲蜜臀av乱码久久精品蜜桃| 欧美电影免费提供在线观看| 欧美精品少妇一区二区三区| 欧美不卡123| 裸体一区二区三区| 日韩美女一区二区三区四区| 视频一区国产视频| 在线成人高清不卡| 午夜久久电影网| 3d成人动漫网站| 免费在线欧美视频| 精品久久久三级丝袜| 久久国产免费看| 337p日本欧洲亚洲大胆精品| 久久99国产精品久久| 国产区在线观看成人精品| 成人综合婷婷国产精品久久| 国产精品久久久久久久久免费樱桃 | 精品视频一区二区不卡| 偷拍自拍另类欧美| 日韩亚洲电影在线| 狠狠色狠狠色合久久伊人| 国产女人aaa级久久久级| 成人黄色av电影| 亚洲综合无码一区二区| 欧美人妖巨大在线| 国产在线精品一区二区不卡了| 国产三级欧美三级| av在线不卡电影| 亚洲成a人片在线不卡一二三区| 正在播放一区二区| 国产毛片精品一区| 亚洲私人黄色宅男| 欧美一区二区三区在线观看视频| 精品系列免费在线观看| 国产精品久久夜| 欧美性感一区二区三区| 极品销魂美女一区二区三区| 亚洲欧洲成人精品av97| 欧美性视频一区二区三区| 激情综合五月婷婷| 亚洲男同性恋视频| 日韩欧美一级片| av一区二区三区四区| 日韩不卡一区二区三区| 国产精品人人做人人爽人人添| 欧美中文字幕久久| 国产精品456| 亚洲一区二区视频在线| 久久久久青草大香线综合精品| 97久久精品人人做人人爽50路| 午夜视频在线观看一区| 国产人妖乱国产精品人妖| 欧美日韩美少妇| 国产精品18久久久久久久久久久久| 亚洲狠狠丁香婷婷综合久久久| 精品欧美乱码久久久久久| 91视频免费观看| 国产一区二区在线看| 亚洲图片欧美一区| 国产精品欧美久久久久一区二区| 91精品在线一区二区| 99视频在线精品| 激情六月婷婷久久| 亚洲一区二区三区视频在线| 久久久久久久久久电影| 欧美一级免费大片| 欧美性猛交xxxx乱大交退制版| 成人精品视频一区二区三区尤物| 日本欧美一区二区三区| 亚洲黄色在线视频|