Forum: Mikrocontroller und Digitale Elektronik Microcontroller EEprom ATMEGA 32 durch ein GUI beschreiben


von Abe (Gast)


Lesenswert?

Hallo an alle hier im Forum.

Ich hab folgendes Problem:

Ich will einen µC mit einem GUI Programmieren.
Ich habe ein Programm für den Flash schon geschrieben.
In diesem Programm sind alle Auswahlmöglichkeiten durch int Variblen 
auswählbar.

Meine Idee war es nun ein Gui zu schreiben welches Startet mit einem 
Block wo ausgänge gesetzt werden können durch check box

Nach diesem Block kommen zwei Pfeile jeder Pfeil ist eine Bedingung die 
dann im Gui definiert werden soll.
entweder springt das Programm dann wieder an eine stelle die im Gui 
wählbar ist oder es werden wieder Ausgänge gesetzt die man im Gui wieder 
angeben kann.

usw.

Nachdem alle Daten eingegeben sind sollen die Daten ins EEprom 
geschrieben werden wo das µc Programm die Variablen ausliest und diese 
dann nutzt.

Mein Problem ist womit kann ich am besten das Gui Programmieren und wie 
bekomm ich das dann in ein Datei gewandelt das ich es ins eeprom laden 
kann.

oder hat einer zufällig ein ähnliches Projekt was mir helfen kann.

Hoffe ihr könnt mir helfen.

Grüsse Abe

von Sascha W. (sascha-w)


Lesenswert?

Hallo,

1)erst mal zum Verständnis - wo soll das GUI laufen? Auf dem μC selbst 
oder auf dem PC?

2)Zunächst musst du dir mal eine "Sprache" ausdenken mit der sich deine 
Anforderungen  prüfen/warten/Port setzen erfüllen lassen. Da du 
schreibst das du schon dein Programm für den μC hast sollte das schon 
mal erledigt sein.

Wie du jetzt ein GUI erstellst und die Daten dann in den EEPROM bringst 
hängt von 1. ab.

Sascha

von Andre A. (abe)


Lesenswert?

Sascha Weber schrieb:
> Hallo,
>
> 1)erst mal zum Verständnis - wo soll das GUI laufen? Auf dem μC selbst
> oder auf dem PC?
>
> 2)Zunächst musst du dir mal eine "Sprache" ausdenken mit der sich deine
> Anforderungen  prüfen/warten/Port setzen erfüllen lassen. Da du
> schreibst das du schon dein Programm für den μC hast sollte das schon
> mal erledigt sein.


zu 1. Das GUI soll auf einem Windows Rechner laufen. Es soll im Prinzip 
das programmieren ohne µc Kenntnisse ermöglichen.

zu 2. das Programm für den µc ist in c++ geschrieben.
Um die Ausgänge zu setzten habe ich eine Methode geschrieben die abfragt 
ob z.B. A0=1 oder A0=0 ist usw. darauf hin wird dann der Pin0 gesetzt 
oder gelöscht.

Das Springen zu bestimmten Punkten im Programm funktioniert auch 
dadurch, dass die jeweilige Sprungaddresse durch eine  Zahl in int 
definiert ist. einen Switch Anweisung setzt dann die jeweilige Funktion.

die Bedingungen sind auch vordefiniert ich habe jetzt 5 bedinungen diese 
können auch durch ein int variable welche einen wert von 1-5 hat 
ausgewählt.

Im Prinzip muss das GUI dem µc Programm nur int variablen mit dem 
jeweiligen wert übergeben. Ich weiss aber nicht wie ich das realisieren 
soll



Hoffe du verstehst was ich meine sonst sag mir nochmal bescheid dann 
versuch ich es nochmal besser zu beschreiben

danke schonmal für die hilfe

von Sascha W. (sascha-w)


Lesenswert?

Ok,

nun auf dem PC gibts viele Möglichkeiten - kannst du denn schon in 
irgend einer Sprache was programmieren?

Die Entwicklung einer vollgrafischen Oberfläche mit Block reinziehen, 
Parameter eingeben und mit Linien/Pfeilen verbinden dürfte allerdings 
für den Anfang ganz schön Aufwendig werden.
Einfacher ist ein Programm im Listenform zu erstellen, dabei bietet sich 
die Verwendung eines Treeview-Elements an in der obersten Ebene hast du 
dann deine Aktion (z.B. Portpin setzen) und untergeordnet die 
entsprechenden Parameter wie (Port=x und Pin=y). Sowas ähnliches hab ich 
schon mal gemacht.

Sascha

von Andre A. (abe)


Lesenswert?

Blöcke reinziehen und verbinden brauch ich nicht. Ich hab eine 
vorgegebene Struktur aus Blöcken und Pfeilen. An die Pfeile sollen 
Kästen dran zB. List box wo man was auswählen kann.
Und die Punkt wo gesprungen werden soll sollen Kreise sein wo eine Zahl 
rein kommt die angibt an welche Stelle gesprungen werden soll.
Die Blöcke beinhalten die Ausgänge a0-a5 welche durch Check box 
aktiviert oder deaktiviert werden sollen.

Ich kann c++ und Java programmieren. Aber mit Dialogen hab ich noch 
nicht soviel gemacht.

von Andre A. (abe)


Lesenswert?

Kannst du mir mal dein programm schicken?

Ich würde mir das mal gerne anschauen vielleicht lerne ich da was raus.

von Sascha W. (sascha-w)


Angehängte Dateien:

Lesenswert?

hier mal mein Programm - schaus dir mal an, ist mit AutoIT3 erstellt.
Die exe läuft aber auch ohne das du AutoIT installiert hast.


Sascha

von Andre A. (abe)


Lesenswert?

hab mir mal versucht dein program anzuschauen versteh aber nix davon :( 
desweiteren ist dasja ne art Basic oder? ich würde aber c++ bevorzugen 
da ich mich da besser auskenne. gibt es gute tutorials für autoit?

danke schonmal

grüße andre

von Stefan F. (Gast)


Lesenswert?

Visual Studio: 
http://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx

oder

Oder Qt Creator: https://www.qt.io/download-open-source/

Wenn Du schon mit dem Atmel Studio gearbeitet hast, sollte Dir das 
Visual Studio bekannt vorkommen.

von Andre A. (abe)


Lesenswert?

ja ich habe das programm für den µc mit atmel studio geschrieben.

mit qt habe ich schon was versucht aber ich hab keine ahnung wie ich die 
daten auf den µc bekommen soll. wenn ich ja normal ein pogramm für den 
µc schreibe flash ich ja die hex datei auf den µc
wenn ich die gui oberfläche erstellt hab ist es ja eine exe datei. wie 
bekomm ich jetzt die daten ins den µc?

von Sascha W. (sascha-w)


Lesenswert?

du musst in dein GUI-Programm natürlich eine Funktion einbauen die dein 
erstelltes Programm exportiert. Entweder als Datei in ein Format das du 
dann in deinen Controller flashen kannst, oder du könntest z.B. das 
Programm per serieller Schnittstelle an den μC übertragen.

Sascha

von Andre A. (abe)


Lesenswert?

hat den jemand mal beispiel code für mich? die ide das so zu machen 
hatte ich schon aber find keine möglichkeit wie das geht

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.