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

Mit Timerfcn 2 Funktionen starten

 

testdummy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.08.2011, 14:33     Titel: Mit Timerfcn 2 Funktionen starten
  Antworten mit Zitat      
Hallo,

weiß jemand von euch ob man mit der Timerfcn 2 Funktionen starten muss? Ich hab schon ein wenig experimentiert, aber leider nicht den richtigen code gefunden.

Code:

Zeit = timer('executionmode','fixedrate','Period',0.05,'Timerfcn',{'@funktion1,handles','@funktion2,handles'});
start(Zeit);
 


hat von euch jemand eine Idee? Oder muss ich einen zweiten Timer starten, was ich eigentlich nur ungern möchte.

Viele Grüße


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 03.08.2011, 15:54     Titel:
  Antworten mit Zitat      
Hallo
Nee man kann nur eine Funktion als TimerFcn definieren
Schreibe doch eine TimerFcn und rufe da zwei andere Funktionen.
Private Nachricht senden Benutzer-Profile anzeigen
 
testdummy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.08.2011, 16:08     Titel:
  Antworten mit Zitat      
könntest du mir dafür ein kleines Beispiel geben?
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 03.08.2011, 16:31     Titel:
  Antworten mit Zitat      
Hallo

hier bitte
Code:


function test_timer2fcn()

handles.timer = timer(...
   'executionmode','fixedrate',...
   'Period',0.05,...
   'Userdata',1);
set(handles.timer,'Timerfcn',{@mytimer, handles})
start(handles.timer)


function mytimer(hTimer,event,handles)
counter= get(hTimer,'Userdata');
fprintf('==============call: %d=============\n',counter)
funktion1(handles);
funktion2(handles);
if counter==10
   stop(hTimer)
end
counter = counter+1;
set(hTimer,'Userdata',counter);


function funktion1(handles)
disp('Funktion1')

function funktion2(handles)
disp('Funktion2')

 
Private Nachricht senden Benutzer-Profile anzeigen
 
testdummy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.08.2011, 09:51     Titel:
  Antworten mit Zitat      
danke, klappt!
 
HansT

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2015, 18:40     Titel:
  Antworten mit Zitat      
Genau diese Frage würde mich auch interessieren. Ich habe das auch probiert. Meine Funktionen berechnen Werte innerhalb einer Schleife. Leider macht die Schleife nichts, wenn ich den Timer starte. Ich bekomme nicht den Vektor mit den Ausgabewerte. Mit Könnt ihr mir weiterhelfen ?
 
laternenjoe
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 83
Anmeldedatum: 25.02.15
Wohnort: Bochum
Version: ---
     Beitrag Verfasst am: 24.09.2015, 19:24     Titel:
  Antworten mit Zitat      
Ne, so ohne Code nicht, weil so durch die Glasfaserleitung auf deine Festplatte zu schauen ist nicht so einfach. Aber ehrlich gesagt(nicht so böse gemeint wie es klingt) habe ich auch keine besondere Motivation zu helfen, weil oben ja schon die Lösung steht.
Private Nachricht senden Benutzer-Profile anzeigen
 
HansM

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2015, 20:57     Titel:
  Antworten mit Zitat      
Danke für die Info. Ist gar kein Problem.
Anbei mein Problem.

Das ist mein timer:
Code:
t = timer( 'StartDelay',0, 'Period', 1, 'TasksToExecute', 10, 'ExecutionMode', 'fixedRate');

t.TimerFcn = @Test;
ttime = [];
start(t)
 

Das ist meine Funktion:
Code:
function Test()
tic;
zeit = [zeit; toc];
   
end


Fehlermeldung:
Error while evaluating TimerFcn for timer 'timer-10'

Undefined function or variable "ttime".


Leider wird das ganze nicht ausgeführt bzw. ich erhalte nicht den Vektor zeit. Was genau habe ich hier falsch gemacht?
edit winkow: bitte code umgebung benutzen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2015, 23:14     Titel:
  Antworten mit Zitat      
Die Frage wurde mittlerweile hier geklärt: http://www.gomatlab.de/messzeit-bestimmen-t38707.html#155345
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.