WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Serial Port löschen

 

tahity
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 15.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.11.2017, 12:16     Titel: Serial Port löschen
  Antworten mit Zitat      
Hallo,

ich habe ein Problem mit einem Interface, dass eine ASI Microscope Stage bewegen soll. Dabei handelt es sich um diese Datei:
https://de.mathworks.com/matlabcent.....si-microscope-stage-mover

Wenn ich das Programm ausführe mittels 'Run', kam beim ersten Mal ein Fenster, in dem ich den Serial Port eingeben musste, an dem der Controller für die Stage angeschlossen ist. Leider habe ich dort den falschen Port eingegeben. Und seitdem ist dort der falsche Port gespeichert. Wenn ich die Dateien lösche, wenn ich Matlab schließe oder den PC neustarte, kommt dieses Fenster zur Port-Auswahl nicht erneut. Wenn ich im Command Window fclose(commPort) und delete(commPort) schreibe, kommt der Hinweis, dass es sich um eine ungültige Variable handelt, wobei diese aber als commPort definiert wurde. Die Frage ist also, was man machen muss, damit bei jedem Start dieses Fenster zur Port-Auswahl kommt?
Und eine zweite Frage ist: Wie kann ich das Programm beenden? Die implementierte Funktion "closeMe" führt nicht zum gewünschten Erfolg. Die Figure bleibt immer.
Könnt ihr mir weiterhelfen?

Vielen Dank!

asiGui.fig
 Beschreibung:

Download
 Dateiname:  asiGui.fig
 Dateigröße:  3.03 KB
 Heruntergeladen:  304 mal
asiGui.m
 Beschreibung:

Download
 Dateiname:  asiGui.m
 Dateigröße:  8.51 KB
 Heruntergeladen:  312 mal
Private Nachricht senden Benutzer-Profile anzeigen


tahity
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 15.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.11.2017, 20:03     Titel: Error using serial/fwrite
  Antworten mit Zitat      
Guten Abend,

nachdem ich das Problem mit dem Serial Port gelöst habe, habe ich nun weitere Fragen.

Und zwar wenn ich das Skript ausführe, dann kommt folgende Fehler:

>> asiGui
Error using serial/fwrite (line 192)
FWRITE cannot be called. The FlowControl property is set to 'hardware' and the Clear To Send (CTS) pin is low. This could indicate that the serial device may not be turned on, may not be connected, or does not use hardware handshaking.

Code:
  function currentPosition = readASI
        % return the current position of the ASI
        fwrite(commPort, [char(24) char(97) char(3) char(58)]);
        tempData = fread(commPort, 3, 'char');
        if numel(tempData)
            currentPosition(1) = (tempData(1) + 256 * tempData(2) + 256 * 256 * tempData(3)) / 10;
            if currentPosition(1) > 2^23 / 10
                currentPosition(1) = -2^24 / 10 + currentPosition(1);
            end
        else
            currentPosition(1) = nan;
            warning off last
        end

        fwrite(commPort, [char(25) char(97) char(3) char(58)]);
        tempData = fread(commPort, 3, 'char');
        if numel(tempData)
            currentPosition(2) = (tempData(1) + 256 * tempData(2) + 256 * 256 * tempData(3)) / 10;
            if currentPosition(2) > 2^23 / 10
                currentPosition(2) = -2^24 / 10 + currentPosition(2);
            end        
        else
            currentPosition(2) = nan;
            warning off last
        end

        fwrite(commPort, [char(26) char(97) char(3) char(58)]);
        tempData = fread(commPort, 3, 'char');
        numel(tempData) % line 192
            currentPosition(3) = (tempData(1) + 256 * tempData(2) + 256 * 256 * tempData(3)) / 10;
            if currentPosition(3) > 2^23 / 10
                currentPosition(3) = -2^24 / 10 + currentPosition(3);
            end        
        else
            currentPosition(3) = nan;
            warning off last
        end
    end




Error in asiGui/setXStep (line 104)
Code:
fwrite(commPort, [char(24) char(68) char(3) char(mod(str2double(get(handles.xStep, 'string')) * 10, 256)) char(round(mod(str2double(get(handles.xStep, 'string')) * 10 / 256, 256))) char(round(mod(str2double(get(handles.xStep, 'string')) * 10 / 256 / 256, 256))) char(58)]);



Error in asiGui (line 59)
setXStep;



Und Sobald ich einen Button der GUI betätige, erfolgen folgende Hinweise:



Error using serial/fwrite (line 192)
FWRITE cannot be called. The FlowControl property is set to 'hardware' and the Clear To
Send (CTS) pin is low. This could indicate that the serial device may not be turned on,
may not be connected, or does not use hardware handshaking.

Error in asiGui/incX (line 84)

Code:
fwrite(commPort, [char(24) char(43) char(0) char(58)]);


Error while evaluating UIControl Callback.


Hat vielleicht jemand eine Idee, woran das liegen könnte?

Vielen Dank im Voraus.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.