Error using fclose Invalid file identifier. Use fopen to generate a valid file identifier.

2 views (last 30 days)
Hello,
My code is:
% Find a serial port object.
obj1 = instrfind('Type', 'serial', 'Port', 'COM3', 'Tag', '');
obj1.Baudrate=115200;
obj1.Timeout=2000;
obj1.Terminator='CR';
% Create the serial port object if it does not exist
% otherwise use the object that was found.
if isempty(obj1)
obj1 = serial('COM3');
else
fclose(obj1);
obj1 = obj1(1)
end
% Connect to instrument object, obj1.
fopen(obj1);
%send message
fprintf(obj1,'#1Zmt\r');
%read the command
fscanf(obj1)
Could you please help me? If I use the tmtool first,connect to the instrument and then Run this code, it will work. But if I open Matlab and try to run it, it gives me this error.
Thank you
  1 Comment
Walter Roberson
Walter Roberson on 14 Mar 2017
Your code does not check that the fopen works, but you should be checking that it works before trying to use the port
I do not know why it is failing

Sign in to comment.

Answers (0)

Categories

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!