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

Serial RS232 Polling mit GUI

 

RaEyE
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 25.11.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2013, 11:05     Titel: Serial RS232 Polling mit GUI
  Antworten mit Zitat      
Hallo,

für ein Seminar ist es erforderlich, aus einer Matlab GUI, auf einem Windows 32/64-bit Betriebssystem, heraus einen Mikrocontroler (µC) anzusteuern. Die Kommunikation zwischen µC und Matlab soll dabei durch eine serielle RS232 Schnittstelle realisiert werden.

Da der µC nach Erhalt eines Codewortes über RS232 eine Aktion ausführt, deren Ausführungsdauer durch externe Gegebenheiten zu dem jeweiligen Ausführungszeitpunkt definiert wird, soll die Matlab GUI ein Polling der serielle RS232 Schnittstelle vornehmen, und nur bei Erhalt eines "µC idling" Signalwortes einen weiteren Aktionsdatensatz senden.

Das sich für mich dabei ergebende Problem ist, dass das Polling selbst ein Teil des die Matlab GUI ausführenden Prozesses ist, und damit solange wie gepollt wird, ob der µC noch "busy" ist oder wieder "idle" ist, auch die Matlab GUI "hängt".

Daher bin ich auf der suche nach einer praktikablen Lösung zur Vermeidung oder Umgehung dieser Problematik.

Mittlerweile bin ich auf die Möglichkeit gestoßen, einen Timer zum pollen der Schnittstelle zu verwenden. Leider hatte ich noch nicht die Gelegenheit (im Moment leider kein Matlab zur Hand) dies auszuprobieren, frage mich aber ob dies bei richtiger Verwendung evtl. mein Problem lösen könnte.

Code:

s1 = serial('COM1');    % define serial port
s1.TimerPeriod = 1;
s1.Terminator = 'LF';

fopen(s1);
s1.BaudRate = 9600;               % define baud rate
s1.TimerFcn = @(x,y)disp(char(fscanf(s1)));
 


Ich bin für jede Form eines Lösungsansatzes oder Vorschlags offen und würde mich sehr über eure Meinung / konstruktive Kritik freuen.

Mit freundlichem Gruß
RaEyE
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.