www.mikrocontroller.net

Forum: PC-Programmierung ANSI C serielle Schnittstelle


Autor: Steffen K. (steffen3)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe folgendes Problem ich muss für ein Projekt die serielle 
Schnittstelle des PC benutzen, d.h. Daten an einen µC senden und Daten 
vom µC empfangen können. Das Betriebssystem des PC's ist XP. Das 
Programm im µC ist schon fertig und funktioniert.
Ich habe schon gegoogelt aber nur Codes in C++ gefunden und die kann ich 
nicht nachvollziehen.
Daher meine Frage hat jemand eine Beschreibung wie ich vorgehen muss um 
eine Lösung in ANSI C zu finden?

Gruss Steffen

Autor: Marcus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
in Ansi C wirst du nicht wirklich was finden.

Das ist leider unter Windows und Linux verschieden. In der MSDN steht 
wie es unter window geht.
Die schnittstelle öffnen geht mit openfile.
http://msdn2.microsoft.com/en-us/library/aa363858(...

die Parameter kannst du mit SetCommState machen

Autor: Steffen K. (steffen3)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist es denn möglich sowas in java zu realisieren ?

Autor: Marcus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
also ich bin leider kein Freund von java. Vermute aber das es dort geht. 
Bei .Net kann ich aber sagen das es recht einfach geht, da steht extra 
ein Klasse dafür bereit.

Autor: Hannes Jaeger (pnuebergang)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In Java bist du mit der seriellen Schnittstelle auf Windows übelst 
gef*ckt.

Sun hat mit JavaComm zwar ein API für die Schnittstelle definiert, nur 
die Windows-Implementierung des APIs vor über einem Jahr unangekündigt 
und ersatzlos gestrichen. Sun-Implementierungen gibt es nur noch für 
Linux und Solaris.

Es gibt eine freie Software, RXTX, die auch auf Windows läuft. Wenn man 
sie denn zusammencompiliert bekommt. Eigentlich ist die Software für 
Unix Systeme, Linux, Mac OS X, geschrieben. Die ist in C geschrieben und 
implementiert  ein serielles API für Java.

Dann finden sich noch diverse kommerzielle Anbieter.

Insgesamt ist das Thema Schnittstellen- und Desktop-Integration bei Java 
sehr unerfreulich.

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst dich entweder durch

http://msdn.microsoft.com/library/default.asp?url=...

durcharbeiten oder lernst Google richtig zu benutzen.

PS: In Ansi C kann es nicht gehen, ist eine OS Sache, also WinAPI 
benutzen.

Autor: Bobby (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich benutze gerne MinGW, um Linux-Programme unter
Windows zum Laufen zu bekommen. Leider haben
die enthaltenen Bibliotheken den Mangel, dass sie
den Zugriff auf die serielle Schnittstelle nicht
implementieren (bis jetzt?). Ihr wisst ja alle,
dass oft nur implementiert wird, was auch fast jeder
braucht.


Also bleibt nichts anderes übrig, als das WinAPI
zu verwenden. Leider.

Autor: lippoliv (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt noch Menschen die MinGW nutzen AUSSER MIR?

Wahnsinn... Hast du nen Debugger?

btt: WinAPI ist auch nicht unbedingt schwer.
Du kannst mit Festplatten z.B. oder anderen Devicec über 
DeviceIoControl(...) komunizieren; Großer nachteil: Windoof findet du 
musst dafür Admin sein.

PS: was ist "µC"?

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verwende neuerdings auch MinGW. Leider hat sich meine 
Cygwin-Installation nicht nachvollziehbar verabschiedet und kann nicht 
mehr repariert/neu installiert werden, die war mir noch lieber.

Schnell ein C Programm ausprobieren, da ist es mir oft zu mühsam eine 
fette IDE anzuschmeissen. Das wird dann auf der Kommandozeile gemacht.

Als Debugger verwende ich wenn überhaupt GDB. So gross/komplex sind díe 
Progrämmchen dann doch nicht, als dass ein Debugger ran muss.

Autor: mik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zufällig hab ich gerade diesen Artikel im Wiki geschrieben

http://www.mikrocontroller.net/articles/Serielle_S...

Java ist nicht ganz einfach (wie alles im Leben). Ein bisschen Erfahrung 
sollte man schon haben, bevor man damit ein Projekt realisiert.

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe in nächster Zeit auch vor mit MinGw (per CodeBlocks 8.02) eine 
kleines Progrämmchen zu erstellen, welches die serielle Schnittstelle 
schreiben und lesen soll. Nun meine Frage :

Geht dieses mit MinGw generell nicht oder kann ich per WinApi über MinGw 
dennoch die Schnittstelle ansprechen ????

Autor: Bobby (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja per WinAPI geht es

Autor: Steffen K. (steffen3)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für das wiki Serielle Schnittstelle unter Java. java hat für mich 
persönlich den vorteil, dass ich einfach eine GUI erstellen kann.

Autor: lippoliv (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das kannst du mit jedem "Visual" ding.

Microsoft Visual C++
Microsoft Visual Studio (C# C++ und Java glaub ich auch)
Broland [Turbo](Pascal, Delphi, C++ und evtl auch C#)

Die können alle GUIs per Drag'n'Drop erzeugen.
In C muss man die halt ausm Quellcode erzeugen :-)
Dann haste für ne Application halt mindestens 300 - 800 Zeilen allein 
wegen dem Form, und ca. 2 - 5h arbeit alles einzurücken.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.