how to enter struct into new struct ?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 :
clc
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');
else
fclose(obj1);
obj1 = obj1(1);
end
% 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.
fopen(obj1);
% Instrument Configuration and Control
% for i=0:1:2
% Communicating with instrument object, obj1.
data=zeros(512*2,1)
for i=1:2
data1 = fread(obj1, 512, 'uint8');
data(i)=data1
end
% end
1 Kommentar
Stephen23
am 24 Jan. 2019
Bearbeitet: Stephen23
am 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).
Antworten (1)
Bob Thompson
am 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
1 Kommentar
Siehe auch
Kategorien
Mehr zu Whos finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!