Der Fehler wird verursacht, weil die von Ihnen bereitgestellte Rückruffunktion my_callback_fcn
nicht über zwei Eingabeargumente verfügt. Sie haben zwei Möglichkeiten, um das zu lösen. Nur tun ein von ihnen:
eine anonyme Funktion mit zwei Eingabeargumente erstellen, wenn Sie den Timer-Rückruf zuweisen:
t.TimerFcn = {@(obj,event)my_callback_fcn};
Fügen Sie zwei Eingabeargumente zu my_callback_fcn
so Ihre erste Zeile, dass Funktion wie folgt aussieht:
function my_callback_fcn(obj,event)
Sie können die Argumente mit ~
ignorieren, wenn Sie sie nicht in der Funktion benötigen. So Ihr Code von der Frage könnte wie folgt aussehen:
t = timer('ExecutionMode', 'fixedRate', 'StartDelay',1, 'Period',1, 'TasksToExecute',150);
t.TimerFcn = {@(~,~)my_callback_fcn};
Here sind einige weitere Informationen über Timer Callback-Funktionen.
zu adressieren this Kommentar und that ein:
nicht beide Lösungen zur gleichen Zeit anwenden Versuchen Sie denn dann werden Sie zwei Argumente an die Funktion Prototyp hinzufügen und dann nicht tun stelle es zur Verfügung. Das Ergebnis wäre folgender Fehler:
Sie müssen nur Lösung 2 nach dem Prototyp, den Sie in Ihrem Kommentar gepostet haben, tun. Hier ist ein funktionierendes Demo:
function timertest
t = timer('ExecutionMode', 'fixedRate', 'StartDelay',1, 'Period',1, 'TasksToExecute',150);
t.TimerFcn = {@my_callback_fcn};
start(t); pause on; pause; stop(t); delete(t);
function my_callback_fcn(handles,~)
handles;
disp('xy');
die erste Zeile des 'my_callback_fcn' (der Prototyp von Matt oben gefragt) sollte mindestens zwei Eingangsgrößen (der Griff des anrufenden Objekts und die Ereignisdaten), auch wenn Sie benutze sie nicht. Also sollte es so aussehen: 'function my_callback_fcn (hobj, evt)', oder wenn du diese Variablen wirklich nicht verwendest, kannst du Matlab sagen, sie zu ignorieren 'function my_callback_fcn (~, ~)' – Hoki
@Hoki Hallo! Meine Rückruffunktion ist die Funktion * my_callback_fcn (handles, ~) *. Der Fehler wird ** Der Name 'edit1' ist keine zugängliche Eigenschaft für eine Instanz der Klasse 'Timer-Objekte'. ** –