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

📄 cm_read_register.m

📁 MatLab图像传感器网络仿真平台WiSNAP
💻 M
字号:
function [value,status] = cm_read_register(handle,address);
%Camera module register read.
%   [VALUE,STATUS] = CM_READ_REGISTER(HANDLE,ADDRESS);
%
%   Input Parameters:
%   ================
%
%      handle ------------> Handle to camera module object (positive integer).
%      address -----------> Register address hexadecimal (4 character string).
%
%   Output Parameters:
%   =================
%
%      value -------------> Register value hexadecimal (4 character string).
%      status ------------> Success status (-1 = error, +1 = success).
%
%   See also CM_WRITE_REGISTER.

% Stephan Hengstler
% Stanford Wireless Sensor Networks Lab
% December 27, 2004
%
% Last modified: 02-09-2005

%*********************** Camera Module Read Register **************************************

% initalize output parameters
value			= '0000';

% flush serial receive buffer
packet		= com_recv(handle,5);

% read register until timeout
timeout		= 0;
while(timeout < 100)
   
	% create command packet
	packet 		= ['01';address(1:2);address(3:4);'02'];
	packet		= char(hex2dec(packet)');

	% send command packet
	status		= com_send(handle,packet);
	pause(0.001)

	% receive response packet
	packet 		= [];
	packet		= com_recv(handle,5);

	% valid response packet?
	if (length(packet) == 5)
	   break;
   end
   
   % increment timeout counter
	timeout		= timeout + 1;

end

% check for error
if (length(packet) < 5)
   status		= -1;
   return;
end

% extract register value
value			= dec2hex(256*bitand(double(packet(2)),255)+bitand(double(packet(3)),255),4);

% return status
status		= 1;

⌨️ 快捷键说明

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