how to enter struct into new struct ?

2 Ansichten (letzte 30 Tage)
tomer polsky
tomer polsky am 24 Jan. 2019
Kommentiert: tomer polsky am 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 :
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
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).

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Bob Thompson
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
tomer polsky
tomer polsky am 24 Jan. 2019
never mind I fixed my code , thank you anyway

Melden Sie sich an, um zu kommentieren.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by