Hi,
I am using bytesAvailablefcn to collect data from serial port. I would like to make an array of incoming data. I could achieve it using global variables. I would like to do the same thing without using global variables. I will highly appreciate if anyone can help me with this.
Thanks in advance !
global dataArraydataArray = zeros(1,5);if ~isempty(instrfind) fclose(instrfind); delete(instrfind); pause(0.1)ends = serial('COM17');s.DataBits = 8;s.StopBits = 1;s.BaudRate = 115200;s.Parity = 'None';s.InputBufferSize = 2^20; s.BytesAvailableFcnMode = 'byte';s.BytesAvailableFcnCount = 7;s.ByteOrder = 'bigEndian';s.BytesAvailableFcn = {@collectData};fopen(s);flushinput(s);pause(10)fclose(s);delete(s);
—————————————————————————————–
function collectData(obj,event)global dataArrayID = fread(obj,6,'uint8');data = fread(obj,1,'int8');dataArray(1) =[] ; dataArray(end+1) = data;end
Best Answer