Verfasst am: 21.02.2013, 17:18
Titel: For schleife
Hallo, ich habe eine Frage und zwar steuere ich Über eine serielle Schnittstelle ein Gerät an. Dabei sende ich einen Befehl aus und erhalte eine Antwort zurück. Nun will ich aber diesen Befehls öfters hintereinander senden (z.b:5 mal)[/code] also in einer for schleife aber dies gelingt mir nicht so richtig, ich habe es folgendermassen probiert aber es klappt nicht.
Verfasst am: 21.02.2013, 21:38
Titel: Re: For schleife
Hallo Hans P.,
Was genau bedeutet "es klappt nicht"? Bei einer Diskussion im Forum ist es immer hilfreich, wenn man weiß, was denn genau nicht läuft wie gewünscht. Eine Kopie der Fehlermedlung, falls es eine gibt, ist auch sinnvoll.
Gruß, Jan
Hans P.
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 19.03.2013, 17:50
Titel:
Hallo, heute stand mir das Instrument wieder zur Verfügung und die Fehlermeldung die erscheint ist folgende:
Subscripted assignment dimension mismatch.
und zwar an der Stelle
Es geht darum das der Befehl fprintf fünf mal gesendet werden soll, dies habe ich aber nicht herausfinden können. Das Problem ist das ich den fprintf und fscanf nicht in die Vorschleife packen kann, damit der Befehl öffters gesendet wird.
Also wenn ich ohne For Schleife daten=fscanf(s) ausgeben lasse erhalte ich für Daten: 898f919291814a12f ...(512 Hezadezimalzahlen). Und das Problem ist das in der For Schleife fscanf(s) nicht berechnet wird, dort wird sich auf die Schnittstelle s bezogen, welches die Schnittstellenparameter sind und somit passen die Dimensionen nicht.[/code]
Du hast hier drei Code-Beispiele gepostet und es ändern sich immer die Indizierungen (mal s(i) mal s, mal daten(i,1) mal daten(1,i)). Das ist sehr verwirrend.
Das Problem liegt aber vermutlich nicht an der For-Schleife, sondern in der Zuweisung an daten(i,1) oder daten(1,i). Brauchst du dort unbedingt die zweite Dimension, oder würde daten(i) reichen?
Ich habe gerade mal getestet:
Hey danke für deine Antwort, ja das ganze ist schon ein wenig verwirrend mit den indizes aber wir haben bereits vieles ausprobiert und bis jetzt hat es noch bei keinem geklappt. Leider steht uns das Gerät erst nächste Woche wieder zur Verfügung. Deine antwort klingt logisch das Problem ist nur, ob es auch mit dem Befehl fsanf funktioniert. Wir werden es dann mal so probieren :
Ich habe gerade kein Matlab zur Hand. Aber was hat fscanf für einen Rückgabewert? String? Dann sollte es funktionieren. Deine andere Methode funktioniert ja mit normalen Strings nicht.
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.