RS-232 auslesen

Brusko

Well-Known Member
Guten Abend,

ich hab mir mal ein Elektronikbausatz von pollin besorgt über RFID transponder/leser.
Diesen Bausatz kann man an eine RS-232 schnittstelle anschliesen und auslesen, was auch mit cat /dev/cuad1 geht.
Gibt es andere möglichekeiten wie cat seine Schnittstelle auselsen zu lassen ?

mfg Michael

ach so sollte vieleicht noch sagen worin. ein unter sh wäre gut und vieleicht c++
 
Zuletzt bearbeitet:
eigentlich wollte ich keine zusätzliche Software installieren sondern mit den vorhanden sachen auskommen, bei cat ist es z.b das es die ganze zeit im lesemodus bleibt.
 
Nun cu kenn ich nicht aber geht auch aber wenn ich das richtig sehe sind das ja alles kleine helfer die aber dauernd im Abfragemodus bleiben ?!. Gibt es nicht einen befehl den man inner schleife setzen kann und danmit die Schnitstelle abfragt ?
 
Was meinst du mit Abfrage-Modus bzw. Lese-modus? Was spricht gegen "kleine Helferlein"?

Du bekommst mit cu schon alles mit, was auf der seriellen Schnittstelle an den PC gesendet wird (und du kannst auch selbst senden, was vielleicht in deinem Anwendungfall nicht gebraucht wird, aber das kann ich ja nicht beurteilen)
Außerdem ist es im Basis-System enthalten, genauso wie cat / tail.
Mit cat bzw. tail hast du nämlich keine Möglichkeit die Baudrate, Stop-Bits, Parität usw. einzustellen, mit cu schon. Vielleicht ist das (falsche Baudrate) schon der Grund, warum du mit tail nichts auf der Schnittstelle siehst.

Gruß
Tulkas
 
Es spricht nichts gegen kleine Helfer , was ich mit lesemodus meine ist folgendes. wenn ich z.b cat /dev/cuad1 eingebe bkeibt cat dauern aktiv und wartet bis wieder an seriel was anliegt. ich mus es bil kill ID beenden. ich würde das ganze aber eher in eine Schleife packen wollen wo ich dann z.b mit Q das ganze einfach beenden kann.
Die bautrate müste passen ich hab nicht verstellt. FreeBSd hat doch standdart 9600 und meine Platine auch. Cat geht ja auch also sollte die Bautrate doch passen.
 
screen um die sreielle schnittstelle auszulesen ?, ist doch nur für terminal steuerung oder nicht ?
 
Ja und? Du kannst das doch einfach in nen screen packen. Den kannste dann auch nach belieben ohne Kill beenden.
 
Hast Du es mal mit dd versucht? Da könntest Du pro Schleifendurchlauf immer eine feste Zahl Bytes auslesen.
Code:
dd if=/dev/cuad1 bs=8 count=1
 
guten Abend zusammen,
Ich habe an einer RS232 schnistelle ein Board von Pollin dran (RFID) der einen Code sendet.
ich würde gerne diesen Code direkt abfragen und in meiner Steuerung mit einbauen.
Hatte schon überlegt ob ich das mit cat usw im extra thread mache aber lieber wäre mir es mit Mitteln aus c++.
 
guten Tag,
danke da mus ich mich dann wohl mal schlauer machen :-)....mus denn immer alles auf englisch sein :-( bin nicht so ganz bewandert in Fremdsprachen

müste es nicht "r+b" heißen ? zumindest sehe ich das bislangt überall auch wenn ich zurzeit noch nicht weis wofür das eigentlich ist
 
Zuletzt bearbeitet:
jepp stimmt fstream bzw ifstream wäre es dann ja, so weit so gut mich wunderts das dieser code

void read_RS232 ()
{
string lese;
stringcuad1.clear();
ifstream readrs232("/dev/cuad1",ios::in);
readrs232 >> lese;
stringcuad1.push_back(lese);
readrs232.close();
cout << stringcuad1[0];
}
klappt, stringcuad1 ist ein Vector.
Die baudrate ist auf 9600 wie meine Platine an der RS232 auch.
Muss sagen das ich das mit den Baudrateneinstellung usw nicht so ganz verstehe wie ich das einbinden kann.

schön wäre es ja wenn man auch sagen könnte, wenn innerhalb 10 sekunden nichts empfangen wurde gehe weiter ...
 
Zuletzt bearbeitet:
Zurück
Oben