Matlab: COM-Port nicht gefunden nach Neuinstallation

OP Persönliche Seite #5078023
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
#5078056
Daniel V. schrieb:
> Index exceeds matrix dimensions.

Der Fehler sagt ja alles, oder? Du greifst wo auf ein Element zu, das 
nicht existiert.
Was gibt
1
handles.com_port{12}
aus? Sollte ja COM1 bis COM** sein...

Was passiert, wenn du den Port (nur zum Testen) fix programmierst?
Nach dem "neu aufsetzen" werden die Portnamen gerne neu nummeriert...
OP Persönliche Seite #5078071
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

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.