Verfasst am: 23.09.2015, 19:50
Titel: Serielle Verbindung durch eine weitere Funktion öffnen
Grüße an alle!
Nun habe ich auch mal eine Frage:
Ich möche eine serielle Verbindung durch eine zusätzliche Funktion erstellen/öffnen, mit der ich dann von meinem aufrufenden "Hauptprogramm" weiterarbeite.
Mit einem m-File funktioniert es und ich mache es wie folgt:
Ich habe eine ganze Menge Programme/m-Files, mit denen ich mit meinem SCPI-Gerät bidirektional kommuniziere. Nun möchte ich einige oft wiederkehrende Funktionen auslagern wie z.B. das Erstellen/Öffnen der seriellen Verbindung. Ich möchte es wie in den nachfolgenden zwei Listings splitten, doch leider klappt es nicht.
Nach dem Ausführen von hauptprogramm.m bekomme ich folgende Fehlermeldung: "Undefined function or variable 's'." und die Zeile "fwrite(s, ['*idn?' char(13)]);" wird nicht ausgeführt.
Hat jemand eine Idee? Ich habe schon etliche deutsch- und englisch-sprachige Foren und die Matlab-Hilfen durchsucht...ohne Erfolg!
jede funktion hat ihren eigenen variablen raum. wenn du werte nicht zurück giebst sind sie auch nicht in der übergeordneten funktion bekannt. du kannst sie also entweder zurück geben oder versuchen mit globalen variablen zu arbeiten. das würde ich aber nur im notfall machen.
_________________
in jedem m-File hat es wirklich funktioniert! Ich habe zwar auch schon an globale Variablen gedacht, hätte aber nicht vermutet, dass die Lösung doch so einfach wäre -.-
Vlt sollte ich die Fehlermeldungen in Zukunft ernster nehmen...
Merci Winkow
Einstellungen und Berechtigungen
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
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.