Forum: Mikrocontroller und Digitale Elektronik Matlab Simulink Serial Receive


von nailuj (Gast)


Angehängte Dateien:

Lesenswert?

hallo!

Ich würde gerne mit Simulink Daten von einem arduino einlesen.
Funktionieren tut das ganze auch, nur viel zu langsam.
Es scheint so als würde der Block Serial Receive die eingelesenen Werte 
wiedergeben.
Die Übertragung (längerer Datenstrom) ist schon längst zu Ende, es 
werden aber immer noch Daten verzögert vom S.R. Block eingelesen...

Vielleicht kennt sich ja jemand aus und kann mir helfen.

Vielen Dank im vorraus!

mfg

von imperator (Gast)


Lesenswert?

Was ist für dich zu langsam? Wir sind hier im technischen Forum und 
nicht im Kindergarten.

9600 Baut ist nicht schnell. Aber niemand weiß welche Datenpakete 
übertragen werden.

Fakt ist, dass der Serial Block einen Ringbuffer hat. Dadurch werden die 
Daten nacheinander ausgeben bis dieser leer ist. Du könntest auch dazu 
auch mal den Sourcecode bei Matlab anschauen.

Wenn du jetzt was regeln willst dann musst du einen "blockierenden" 
Zustand einstellen.

Die Latenzzeit des bei Matlab ist auch außerirdisch. Ich habe damals 
beim 2012R 60-70 ms gehabt. Egal welche Datenratten & -größen man 
eingestellt hat. Wohlgemerkt beim Receive Block.

von Andre R. (ltisystem)


Lesenswert?

neben der bautrate kannst du mal schauen ob in den einstellungen vom 
serial receive deine block sample time geändert werden muss. da ich 
nciht weiß was für daten du sendest kann ich nciht sagen welchen, aber 
du könntest auch mal schauen welchen daten typ du brauchst und den ggf. 
anpassen. außerdem kannst du überprüfen, dass in den einstellungen von 
simulink dein solver richtig eingestellt ist.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.