Forum: Mikrocontroller und Digitale Elektronik AVR <-> PC


von Daniel (Gast)


Lesenswert?

Hi,
ich würde ganz gerne einen Atmel-Mega-Controller mit dem PC (serielle
Schnittstelle) kommunizieren lassen. Bin im Bereich Mikrocontroller
noch Anfänger, und habe mir eben mal das (sehr gute) Tutorial auf
dieser Seite zum Thema UART durchgelesen, woraus ja hervorgeht, wie
sich der Mikrocontroller programmieren läßt. Allerdings suche ich jetzt
schon eine ganze Weile danach, wie sich sowas auf der PC-Seite in C++
umsetzen läßt. Bzw.:
-anscheinend gibt's ja im ANSI C++ keine Funktion die sowas kann(?);
gibt's irgendwo eine andere plattformunabhängige(für Win & Linux
verfügbare) Bib./Funktion, mit der man über die serielle Schnittstelle
einfach mit nem AVR kommunizieren kann?
- falls nicht, wie läßt sich das denn unter Win98+XP am einfachsten
realisieren?
viele Grüsse, Daniel

von jochen (Gast)


Lesenswert?

Z.B. Delphi kann sowas. Hab mir da vor kurzem eine Library zum lesen und
schreiben der seriellen Schnittstelle besorgt.

Unter Win98 liefs problemlos, auf XP habe ich es noch net getestet.

BTW. Die 7er Version von Delphi war dem letzt in der c't mit drin.
Kann seindas man sich die auch Kostenlos direkt bei Borland laden kann.
Ist natürlich nur für den privaten Gebrauch.

Grüßle Jochen

von Daniel (Gast)


Lesenswert?

Klingt interessant, aber da ich C++ schon kann, und das Programm auch
schon in C++ angefangen habe, wäre eine Lösung in C++ praktischer...

von Rahul (Gast)


Lesenswert?

Unter C öffnet man eine Datei mit Ziel "Com1" oder so ähnlich.
Bei C++ müsste das doch dann eigentlich ein Filestream sein. Das geht
auch plattformunabhängig.

von Daniel (Gast)


Lesenswert?

Muß das mal testen; wäre klasse, wenn das so einfach geht:-) Muß das mal
testen. Hab nämlich irgendwo gelesen, dass das nur unter Linux als
Filestream funktionieren würde, und unter Windows 98 und XP über die
WinApi oder MFC gemacht werden müßte...

von harry (Gast)


Lesenswert?

hi,

in linux und unter w98 kannste im simpelsten fall den comport direkt
ansprechen, ohne api. unter linux haben wir das mit perl, unter w98 mit
purebasic gemacht, sollte aber mit c genauso gehen.

x = opencomport(com1, nummer)

dann ist der port erstmal geöffnet (wenn x # 0 hat's geklappt),
anschliessend kansst du bytes lesen und schreiben, sollte aus der doku
der sprache hevorgehen, welche befehle.

gruss, harry

von Thomas K (Gast)


Lesenswert?

irgendwer hat doch kürzlich diesen link gepostet
http://msdn.microsoft.com/library/en-us/dnfiles/html/msdn_serial.asp
wenn ich mich nicht irre

von Frank Simon (Gast)


Lesenswert?

Hallo,
ich hab hier (www.ioproz.de, genauer:
http://ioproz.de/downloads/iotrix.zip) meine eigene kleine DLL, die als
ActiveX-Klassenbibliothek arbeitet. Du kannst sie in allen Sprachen
verwenden, die COM- bzw. OLE- Objekte ansprechen können. Ich verwende
bisher VBA, es klappt aber mit allen Mitgliedern von MS-Visual-Studio.
Seit neuestem kann ich sie auch ans OpenOffice.org-Basic anflanschen
(das wird aber nicht unter Linux gehen, weil das Windows-API darunter
liegt), Delphi geht auch, hab ich aber keine weitere Erfahrung mit.
mfg
Frank

von Maik R. (Gast)


Lesenswert?

Hallo Daniel,

bin gerade dabei, dasselbe wie du zu machen.
Habe dazu auf der Seite:
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=144&lngWId=3

die MFC-Klasse heruntergeladen und einfach in ein Visual C++ - Projekt
eingebunden. Aus dem Beispiel die 3 Zeilen notwendigen Code kopiert und
schon klappt die Kommunikation Atmega<-->PC einwandfrei.

Viel Erfolg,

Maik

von Maik R. (Gast)


Lesenswert?

aktuellere Version der Klasse unter:

http://www.naughter.com/   unter Wrapper Classes


Gruß, Maik

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.