Matlab: COM-Port nicht gefunden nach Neuinstallation

OP Persönliche Seite #5078023
Lesenswert?

Hallo liebes Forum,

leider musste ich mein Hauptarbeitsrechner neu aufsetzten. Mach 
Installation von Matlab, wollte ich meine entwickelte Hardware per FTDI 
und USART wieder zugreifen. Das Problem, es funktioniert nicht mehr. 
Wähle ich den COM-Port aus erscheint folgende Fehlermeldung:
1
Index exceeds matrix dimensions.
2

3
Error in main_ui>connect_btn_Callback (line 160)
4
handles.serialPort = initSerialPort(hObject, eventdata, handles, handles.com_port{12});
5

6
Error in gui_mainfcn (line 96)
7
        feval(varargin{:});
8

9
Error in main_ui (line 39)
10
    gui_mainfcn(gui_State, varargin{:});
11

12
Error in @(hObject,eventdata)main_ui('connect_btn_Callback',hObject,eventdata,guidata(hObject))
13

14
 
15
Error while evaluating uicontrol Callback

Vor der Neuinstallation hat alles wunderbar funktioniert. Anbei mein 
Code:

In der main.m:
1
gui_Singleton = 1;
2
gui_State = struct('gui_Name',       mfilename, ...
3
                   'gui_Singleton',  gui_Singleton, ...
4
                   'gui_OpeningFcn', @main_ui_OpeningFcn, ...
5
                   'gui_OutputFcn',  @main_ui_OutputFcn, ...
6
                   'gui_LayoutFcn',  [] , ...
7
                   'gui_Callback',   []);
8
if nargin && ischar(varargin{1})
9
    gui_State.gui_Callback = str2func(varargin{1});
10
end
11

12
if nargout
13
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
14
else
15
    gui_mainfcn(gui_State, varargin{:});
16
end

Im Modul initSerialPort.m
1
function serialPort = initSerialPort(hObject, eventdata, handles, portName)
2

3
serialPort = serial(portName);
4

5
% Set the baud rate
6
str = get(handles.baud_rate_pop, 'String');
7
ind = get(handles.baud_rate_pop, 'Value');
8
serialPort.BaudRate = str2num(str{ind}(1:end-4)); %4%
9
%serialPort.Terminator = 'CR/LF'; 
10
str = get(handles.buffer_size_pop, 'String'); 
11
ind = get(handles.buffer_size_pop, 'Value'); 
12
serialPort.InputBufferSize = str2num(str{ind}(1:3))*str2num(str{ind}(5)); 
13

14
% Add a callback function to be executed whenever 1 byte is available
15
% to be read from the port's buffer.
16
serialPort.BytesAvailableFcn = {@readPort, hObject, eventdata, handles};
17
serialPort.BytesAvailableFcnMode = 'byte';
18
serialPort.BytesAvailableFcnCount = serialPort.InputBufferSize;
19
end

An meinem Laptop kommt die gleiche Fehlermeldung. Der aktuelle 
FTDI-Treiber ist installiert.

Danke im Voraus und Gruß
Daniel
OP Persönliche Seite #5078071
Lesenswert?

Das ist richtig, funktioniert nur auch nicht wenn ich COM3 vergebe.
1
Error in main_ui>connect_btn_Callback (line 160)
2
handles.serialPort = initSerialPort(hObject, eventdata, handles, handles.com_port{3});

EDIT:

Wer lesen kann ist klar im Vorteil!!!

Hier ist der Fehler zu finden:
1
com_port_ind = get(handles.com_port_pop, 'Value'); 
2

3
% Diese Zeile war auskommentiert:
4
handles.serialPort = initSerialPort(hObject, eventdata, handles, handles.com_port{com_port_ind}); 
5

6
%% Hier war eine fester COM-Port zugewiesen, warum auch immer....
7
%handles.serialPort = initSerialPort(hObject, eventdata, handles, handles.com_port{12}); 
8

9
set(handles.connect_btn, 'Enable', 'off'); 
10
set(handles.disconnect_btn, 'Enable', 'on'); 
11
% Open the serial port for reading and writing.
12
fopen(handles.serialPort);
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren