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

GUI start beginnen und mit Button beenden

 

David1992
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 25.11.13
Wohnort: Wien
Version: 2013a/2013b, Arduino
     Beitrag Verfasst am: 25.11.2013, 19:30     Titel: GUI start beginnen und mit Button beenden
  Antworten mit Zitat      
Hallo Leute,

Ich bin neu in der Matlabprogrammierwelt. Könnt ihr mir bitte helfen.

Diesen Code will ich beim Starten der GUI starten und mit einem Button beenden.

Code:
while(1)
i=fscanf(arduino, '%c');
    switch(i)
        case 'R'
            set(handles.rechtsLED,'BackgroundColor','red');
        case 'L'
            set(handles.linksLED,'BackgroundColor','red');
        otherwise
            set(handles.hall, 'String', i);
    end
end


hat jemand eine Idee?

Danke.
Private Nachricht senden Benutzer-Profile anzeigen


markuman
Forum-Guru

Forum-Guru


Beiträge: 320
Anmeldedatum: 14.12.12
Wohnort: ---
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
     Beitrag Verfasst am: 25.11.2013, 20:39     Titel:
  Antworten mit Zitat      
Das habe ich mal irgendwann Entdeckt.
http://creat-tricks.blogspot.de/201.....duino-and-matlab-gui.html
Vielleicht hilft es dir ja weiter.
_________________

DIY OR DIE Cool

entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
Private Nachricht senden Benutzer-Profile anzeigen
 
David1992
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 25.11.13
Wohnort: Wien
Version: 2013a/2013b, Arduino
     Beitrag Verfasst am: 25.11.2013, 21:23     Titel:
  Antworten mit Zitat      
danke die Kommunikation passt ja mit dem arduino.. das ist nicht das problem.
Ich will das dieser teil sofort am beginn der gui startet und in einer endlosschleife läuft solange ich nicht auf einen button ende drücke

der code ist zu 70 % richtig--> glaube ich

die Fehler werde ich dann mit ein paar tests beheben Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
markuman
Forum-Guru

Forum-Guru


Beiträge: 320
Anmeldedatum: 14.12.12
Wohnort: ---
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
     Beitrag Verfasst am: 25.11.2013, 23:32     Titel:
  Antworten mit Zitat      
Du musst deine Endlosschleife unterbrechen und mit einem anderen Ablaufkriterium versehen.. Ich würde die Schleife auch nicht automatisch bei Programmaufruf laufen lassen, sondern ein Start und Stop Button dafür nehmen.

In die looop_OpeningFcn

Code:


set(handles.figure1, 'UserData',[]);
userData.stop = false;
set(handles.figure1, 'UserData',userData);

 


In Pushbutton1_Callback - der START Button

Code:


     n=1; % als demonstration das was passiert
     moreWork = true;
     while moreWork
 
         n=n+1; % als demonstration das was passiert
         set(handles.text1, 'String', n); % n in textfeld text1 ausgeben
         pause(1) % damit man das ergebnis besser sieht
        .... busy work here
        .... if done, moreWork=false;
 
         %check if user hit STOP button
         userData = get(handles.figure1, 'UserData');
         if userData.stop == true
            userData.stop = false; %reset for next time
            set(handles.figure1,'UserData',userData);
            moreWork = false; %to stop the loop
         end
     end

 


In Pushbutton2_Callback - dein STOP Button

Code:


userData = get(handles.figure1, 'UserData');
userData.stop = true;
set(handles.figure1,'UserData',userData);

 


Funktioniert hier problemlos. Schnell zusammengewurstet siehe Anhang looop.m und looop.fig
Gefunden in den weiten des Mathworks universumshttp://www.mathworks.com/matlabcent.....reader/view_thread/308463

looop.fig
 Beschreibung:

Download
 Dateiname:  looop.fig
 Dateigröße:  2.07 KB
 Heruntergeladen:  354 mal
looop.m
 Beschreibung:

Download
 Dateiname:  looop.m
 Dateigröße:  3.98 KB
 Heruntergeladen:  373 mal

_________________

DIY OR DIE Cool

entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
Private Nachricht senden Benutzer-Profile anzeigen
 
David1992
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 25.11.13
Wohnort: Wien
Version: 2013a/2013b, Arduino
     Beitrag Verfasst am: 28.11.2013, 14:10     Titel:
  Antworten mit Zitat      
Danke hat alles funktioniert Smile
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 - 2024 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.