Forum: Mikrocontroller und Digitale Elektronik C++ Programman Microcontroller


von Kathrin (Gast)


Lesenswert?

Hallo,

Wir haben derzeit an unserer FH ein Projekt laufen in welchem wir einen 
Rasenmäher ansteuern müssen.

Jetzt haben wir schon einiges in C++ programmiert und würden nun das 
ganze an die Microcontroller Software übergeben, nur wie???
Könnt ihr mir da helfen, würde mich auch über E-Mais freuen!

Danke im Voraus,
Kathrin

von egal (Gast)


Lesenswert?


von Kathrin (Gast)


Lesenswert?

Ja, und wo find ich da jetzt die Antwort???
Kenn mich leider nicht so gut bei Microcontrollern aus

von Dussel (Gast)


Lesenswert?

Was heißt "an die Microcontroller Software übergeben"? Den Controller 
Programmieren?
Einfach Programmer anschließen, das Programm in die Programmiersoftware 
laden (zum Beispiel AVR Studio mit der C-Erweiterung, weiß gerade nicht 
wie die heißt) und dann programmieren. Beim AVRISP mkII ist die ganze 
Software schon dabei.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

> Kenn mich leider nicht so gut bei Microcontrollern aus

Das zu ändern ist doch der Sinn dieses Projekts, oder? Da muss an halt 
mal etwas tiefer in die Grundlagen hinein gehen.

von Gast (Gast)


Lesenswert?

wrote
"Jetzt haben wir schon einiges in C++ programmiert und würden nun das
ganze an die Microcontroller Software übergeben, nur wie???"

Was soll das nun heißen ? Ist hier ein PC (C++) Programm gemeint, 
welches mit dem µC kommunizieren soll ? Oder ein Download in den µC ? 
Oder einfach nur C++ Code (ohne Rücksicht auf µC Eigenschaften!) der auf 
dem PC läuft und nun auf dem µC laufen soll ? Ziemlich unpräzise die 
Angabe ... mäht doch lieber Hand oder nehmt doch Schafe (... sind auch 
niedlicher :-) )

von Gast (Gast)


Lesenswert?

>würde mich auch über E-Mais freuen

hmm...Gen-Mais kenne ich, aber E-Mais? Aber da du dich freust, ist es 
sicherlich was gutes :-)

Also mal als Schuss ins blaue: Habt ihr für euer Projekt schon sowas wie 
ein Konzept? Einen Projektplan o.ä.?

Welchen Mikrocontroller verwendet ihr? Das sollte man wissen bevor man 
überhaupt was macht. Weiterhin ist man dadurch festgelegt, wie man den 
Code in den Controller bekommt (Seriell-Bootloader, Parallel, JTAG,...).

Danach müsstet ihr euch einen Compiler suchen (C oder C++) je nach 
verwendetem Controller. Und nein, C/C++ ist nicht C/C++ ist nicht C/C++. 
Es gibt wohl einige Sachen, die lt. Standard nciht 100% definiert sind. 
Bestes Beispiel sind wohl die Interrupts (bei jedem Compiler irgendwie 
anders).

Und überhaupt, ihr müsst doch schon sowas wie Formeln, Algorithmen u.ä. 
bedacht haben? Davon hängt doch ab, welche Controller ihr verwendet 
(8-Bit, 16-Bit, 32-Bit,...)????

Frohes Schaffen.

von Nullpointer (Gast)


Lesenswert?

>Jetzt haben wir schon einiges in C++ programmiert und würden nun das
>ganze an die Microcontroller Software übergeben, nur wie???

Daras folgere ich dass der Zielprozessor schon kein 8 Bitter mehr ist. 
Da offensichtlich keine Peripherie involviert ist, denke ich ein 
embedded PC, zB ein VIA EPIA wird etwa die passende Klasse sein. Das 
Glueck ist hold, dass der benoetigte Code sogar PC kompatibel ist, dh 
man braucht keine Kohle fuer ueberteuerte Tools rausblasen.

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

<Ironie>
Hm, Kathrin würde sich über E-Mails (hab ich kombiniert) freuen.
Und wo soll man die hinschicken?

Wahrscheinlich hat sie sich gedacht, dass eh keiner schreibt und deshalb 
nix angegeben ;-)

</Ironie>

von Rolf Magnus (Gast)


Lesenswert?

Also ich freue mich ja nicht über E-Mails, die von Stellen kommen, denen 
ich die Adresse nie gegeben hab...

Zur Frage: Die Antworten schießen hier ziemlich ins Blaue (von AVR bis 
zum Embedded-PC ist alles dabei), weil die Frage viel zu vage ist.
Solange nicht geklärt ist, was "das ganze an die Microcontroller 
Software übergeben" überhaupt bedeuten soll, kann man sowieso keine 
sinnvolle Antwort geben. Was ist "das ganze"? Was ist gemeint mit 
"übergeben"? Und an was für Mikrocontroller-Software soll es übergeben 
werden? An welchen Controller?

von Andreas W. (Gast)


Lesenswert?

hey bleibt nett, da sucht jemand Hilfe.

@kathrin

du musst erstmal in Erfahrung bringen was genau der µC ist. Also ob das 
ein PC da drin ist, ein ARM ,ein AVR oder sonst was.

Wenn ihr es euch aussuchen könnt, musst du erstmal abschätzen welche 
Leistung-klasse nötig werden könnte. Das ist meist ein Problem, weil man 
für so ein Projekt ja nie die komplette Dimension überblicken kann. 
eventuell soll ja irgendwann eine Bilderkennung mit Papiererkennungen 
rein, nicht das man ausersehen den hamster vom Nachbar mäht :)
also zusammenfassen was soll er machen, dann schauen was soll er 
möglicherweise machen können sollte und dann nicht zu unterschätzen was 
kann ich alles lernen (ist ja schließlich ein Lehrprojekt).

deine email-adresse hast du nicht mit zugeschrieben. versuch mir ein 
Mail zu schreiben.

x l o m x at w e b . d e

von Unbekannter (Gast)


Lesenswert?

> Wir haben derzeit an unserer FH ein Projekt laufen in welchem wir
> einen Rasenmäher ansteuern müssen.
>
> Jetzt haben wir schon einiges in C++ programmiert

Typisches Hochschulprojekt.

Erstmal was machen, dann mal schauen, ob es überhaupt Sinn macht.

Neulich erzählte mir ein Student einer FH (6. Semester), er könne sich 
gar nicht vorstellen, dass man Mikrocontroller in C oder Assembler 
programmiert. In den Praktika haben die armen Studenten immer nur 
irgendwelche Funktionsblöcke zusammen geklickt...

Arme Studenten, armes Deutschland.

von Matthias L. (Gast)


Lesenswert?

>den Praktika haben die armen Studenten immer nur irgendwelche Funktionsblöcke 
zusammen geklic...

Natürlcih, war bei uns auch so, die gibts ja fertig in (vorgefertigten) 
Bibliotheken:
Funktionsbaustein UART, so angekabelt, fertig geht ;-))


ein (noch) FH Student

von antworter (Gast)


Lesenswert?

> Bibliotheken: Funktionsbaustein UART, so angekabelt, fertig geht

...die züchten ja richtige Bascommer ;-)



<über-seine-Uni-freu> (MSP-430 mit ASM und C)

von Matthias L. (Gast)


Lesenswert?

Also mein Beispiel war jetzt nicht auf µC Programmierung bezogen (da war 
es wirklich ASM, aber eben nicht Atmel)

von antworter (Gast)


Lesenswert?

Mein Beitrag war auch nicht so ernst gemeint - Koexistenz find ich gut 
:-)

von Kathrin (Gast)


Lesenswert?

Also bei euren Antworten war ja schon einiges hilfreiches dabei 
(Abgesehen von den ganzen "witzigen" Sachen wegen der Tippfehler).

Unser Projekt ist in 2 Gruppen aufgespalten. Die eine Gruppe musste ein 
Programm in C++ programmieren in dem der Rasenmäher die Koordinaten des 
zu mähenden Feldes ausrechnet. Die 2. Gruppe (in der auch ich bin) soll 
jetzt den Motor und die Lenkung ansteuern. Dazu müssen die C++ Werte der 
1. Gruppe an die Assembler Software des MC übergeben werden. Wir haben 
einen PIC und ein EVALBoard. Um den Motor anzusteuern haben wir auch 
schon einiges programmiert, jetzt würde uns nur noch das Einspielen der 
Parameter fehlen.

von Klaus (Gast)


Lesenswert?

Du solltest vielleicht GENAUER beschreiben, welche/wieviele Parameter 
das sind, über welche Schnittstelle(n) das geschehen soll (RS232, USB, 
Funk) , jeweils nur einmalig oder fortlaufend, ob die Parameter am PC 
gespeichert sind oder bleiben oder ob sie am PIC gespeichert werden 
sollen/müssen etc.
Viele Möglichkeiten.

von Maxim (Gast)


Lesenswert?

Also wenn die Werte zuerst auf einem PC bverechnet werden und sich nicht 
mehr verändern, dann kann man sie in die HEX-Datei einbinden, sodass sie 
beim Hochladen des uC-Programms in den EEPROM geschreiben werden.

Wenn der uC aber ständig auf aktuelle Werte des C++-Programms angewiesen 
ist, muss man irgendwie den PC mit dem uC verbinden. Da würde sich die 
serielle Schnittstelle anbieten.

von Kathrin (Gast)


Lesenswert?

Bei den Werten handelt es sich um die Positionsdaten und 
Koordinationsdaten. Also in welche Richtung und wie weit das FZ fahren 
soll.

Es soll also ständig upgedatet werden.

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

Das ist das was du suchst.
http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART
beim Pic ists nicht viel anders.

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?


von Gast (Gast)


Lesenswert?

Ja: für so ein Projekt scheint die RS232 recht gut geeignet. Das gute 
ist, dass es Bluetooth-Adapter (oder WLAN) gibt, mit denen man das ganze 
dann auch ohne langes Kabel machen kann.

Vorgehen:
1. Einarbeiten in das RS232 Protokoll (trivial)
2. Diskussion mit Gruppe 1, wie sie die Daten übergeben wollen (wie oft, 
welchen Umfang,...)
3. Festlegen des Übertragungsprotokolls/SChnittstellen
4. Implementieren des Protokolls in C++ und auf dem PIC
5. hoffen dass es funktioniert.

Das sind aber alles Sachen, die eigentlich nicht so schwierig sein 
sollten. Naja, C++ und RS232 kann ich überhaupt nich einschätzen...

von Matthias L. (Gast)


Lesenswert?

>en in das RS232 Protokoll (trivial)

Seit wann hat/ist RS232 ein Protokoll??
Dachte immer, dass wäre nur ein Übertragungsstandart (OSI-Schicht1 und 
tiefer)

von Gast (Gast)


Lesenswert?

Ja, da hast du Recht.

Ich meinte die RS232 als Kommunikationssystem im weitesten Sinne... 
Sollte nur eine Anregung sein.

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.