Clear Filters
Clear Filters

how to enter struct into new struct ?

1 view (last 30 days)
tomer polsky
tomer polsky on 24 Jan 2019
Commented: tomer polsky on 24 Jan 2019
hello I am currently reading data from UART using RS232 cable . the thing is that i can read the data how ever for some reaoson i can read only 512 samples . my question is simple is there a way to enter 512 sample each time to a new structer ?
for exmaple the first time i get 512 samples and then put this sample into a new struct calded data1
then the next time i read a new 512 samples it get to 513 to 1024 . this is myt code :
clear all
% Instrument Connection
% Find a serial port object.
obj1 = instrfind('Type', 'serial', 'Port', 'COM7', 'Tag', '');
% Create the serial port object if it does not exist
% otherwise use the object that was found.
if isempty(obj1)
obj1 = serial('COM7');
obj1 = obj1(1);
% Configure instrument object, obj1.
set(obj1, 'Terminator', {'','LF'});
set(obj1, 'Timeout', 1000.0);
set(obj1, 'Terminator', {'','LF'});
set(obj1, 'Terminator', {'','LF'});
% Instrument Connection
% Connect to instrument object, obj1.
% Instrument Configuration and Control
% for i=0:1:2
% Communicating with instrument object, obj1.
for i=1:2
data1 = fread(obj1, 512, 'uint8');
% end
  1 Comment
Stephen23 on 24 Jan 2019
Edited: Stephen23 on 24 Jan 2019
"...and then put this sample into a new struct calded data1 "
Using numbered variables is a sign that you are doing something wrong. Your code will be much simpler and more efficient if you use indexing (such as what Bob Nbob shows in their answer).

Sign in to comment.

Answers (1)

Bob Thompson
Bob Thompson on 24 Jan 2019
I'm going to assume that data(i) = data1 does not work, because you're trying to put an entire array into a single element of a doubles matrix. You can either replace this by doing a cell matrix for data, or by doing a structure as you suggested.
data{i} = data1 % Cell method (index with curly braces)
instrument(i).data = data1 % structure method (probably want to change variable names


Find more on Instrument Connection and Communication in Help Center and File Exchange


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!