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

📄 tcpip_read.m

📁 A very small 250-line library (written entirely in MATLAB) that allows multiple MATLAB programs to t
💻 M
字号:
function data=tcpip_read(varargin)  % str=tcpip_read(fid,len,datatype)% str=tcpip_read(fid,len)%% fid       is file id.% len       is maximum length to be read.% datatype  optional char array argument specifying what datatype to read.%% Read given number of characters (bytes) OR elements of other datatype% if specified. Data vill be returned as specified datatype.% Se  fwrite   for more about names of different datatypes.%% Operation will be interupted before len is reached if their% is no more character to read at the moment. (non blocking)%%% Problems:%  % Type conversion from the tcpipstream of 'char' is stream is slow!!!!% If you use this functionality you schuold know their is better% ways of doing it! u8read()   and u8write() are available at mathworks  % user contributed ftp site and are probably better way of convert% this stream of char to other data types afterwords in your script.%    % Somethink similar will be included in future inside the toolbox....% % % EXAMPLE 1:%%    data=tcpip_read(fid,20,'double');%%          Reads (max) 20 elements of type 'double' from tcpip connection.%%% EXAMPLE 2:%%    data=tcpip_read(fid,20);%%             Reads characters (bytes) from tcpip connection.%%% EXAMPLE 3:%%    data=tcpip_read(fid,1024,'uint16');%%             Reads 1024 elements of datatype uint16.%    fid=-2;    if nargin>1,    fid=varargin{1};    len=varargin{2};  else    len=varargin{1};  end    if nargin>2,    % If other datatype then char. . .    dt=varargin{3};    tmpn=tempname;    dfid=fopen(tmpn,'w+','ieee-be');    if dfid==-1,      error(['Cant open tmp file:',tmpn]);    end    % Get size of data type.    fwrite(dfid,1,dt);    sz=ftell(dfid);    frewind(dfid);        % Detect available size    data=tcpipmex(5,fid,len*sz);    len=floor(length(data)/sz);        % Read available number of elements as chars.    data=tcpipmex(3,fid,len*sz);        % Convert datatype and byte order with help of a    % file.    fwrite(dfid,data(1:len*sz));    frewind(dfid);    data=fread(dfid,len,dt);    fclose(dfid);    delete(tmpn);  else    % Simple read with char as input data type.    data=tcpipmex(3,fid,len);  end  return;

⌨️ 快捷键说明

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