mikrocontroller.net

Forum: PC-Programmierung 89c51ed2 programmierung mit c++


Autor: Peter Maier (michaelvolkmer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi leute

habe eine techniker arbeit vor mir anstehen wo es um die programmierung 
mittels
borlad c++ builder6 darum geht, eine distanzmessanlage durch 
srf04-sensor (ultraschall-sensor)zu entwickeln, welche die distanz 
grafisch auf einer objektorientierten oberfläche ausgibt.
bin nun auf der suche nach geeigneter beispielsoftware, guten und 
verständlichen büchern, links usw........!!!!!
kann mir hierbei jemand helfen?
die hardware usw ist schon in gange , nur die programmierung über die 
rs232 schnittstelle am pc zu controller ist mir ein rätsel!
und vor allem wie wird die scheiße über die oberfläche mit c++ gesteuert 
und auch angezeigt????????????????? :-(
über alle einfälle, ideen, links und nützliche tipps wäre ich euch sehr 
verbunden.

mit freundlichen grüßen
michael

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt kein C++ für µC, nur C...

> die hardware usw ist schon in gange , nur die programmierung über die
> rs232 schnittstelle am pc zu controller ist mir ein rätsel!

Wo genau liegt das Problem? Bekommst du die Kommunikation zwischen µC 
und PC nicht hin, oder kannst du mit den Daten vom µC nix anfangen?

> und vor allem wie wird die scheiße über die oberfläche mit c++ gesteuert
> und auch angezeigt?

Du musst die empfangenen Daten visuell darstellen, es gibt viele 
Möglichkeiten. Kannst z.B. ein Diagramm-Object verwenden, und die Daten 
als Kurve ausgeben. Oder ein Tabellen-Object. Du musst die Daten halt 
umwandeln.

Wenn du die Probleme genauer spezifizieren kannst, kann dir besser 
geholfen werden...

Ralf

Autor: Aufreger deluxe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Es gibt kein C++ für µC, nur C...

Es gibt doch avr-c++.

Autor: Michael Volkmer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das problem ist, die empfangenen daten visuell darzustellen, so wie du 
es gesagt hast.
einerseits muss die keil software die sensoren ansprechen, das ergebniss 
wird gespeichert und dann an die rs232 schnittstelle gesendet.
dann diese daten auf die oberfläche zu bekommen und dieses dann visuell 
darstellen, das ist mein verständniss problem hierbei.
es sollte ein balken sein der die distanz zum objekt anzeigt und noch 
ein zahlenwert zu sehen sein.
wie es bei herkömmlichen distanzmessern z.b. im auto zu sehen ist.
klingt einfach, ist aber für mich für den anfgang schwer umzusetzen.
wie erstellt man die oberfläche in c?
:-(
wie ist es möglich, einen sich beweglichen balken mit den daten zu 
füttern, sodass dieser sich bewegt?

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aha, jetzt wird es klarer...

> einerseits muss die keil software die sensoren ansprechen, das ergebniss
> wird gespeichert und dann an die rs232 schnittstelle gesendet.

Funktioniert das schon? Also das mit dem Senden bzw. empfangen?!?

> dann diese daten auf die oberfläche zu bekommen und dieses dann visuell
> darstellen, das ist mein verständniss problem hierbei.
> es sollte ein balken sein der die distanz zum objekt anzeigt und noch
> ein zahlenwert zu sehen sein.

Da würde ich mal gucken, ob es ein Balkenobject für C++ gibt.
Es kann sein, dass du verschiedene Balken-Objects findest, ich habe 
folgende Varianten bereits gesehen:

1. Das Object wird mit einer Prozent-Angabe gefüttert, und stellt diese 
dar. Das bedeutet, du musst die Prozent selber ausrechnen.

2. Das Object bekommt den unteren und den oberen Grenzwert mitgeteilt, 
und wird mit einem weiteren Wert gefüttert, aus dem sich das Object die 
Prozentangabe selber rausrechnet. --> Eher für dich geeignet?

Allerdings habe ich diese Objects vor Jahren bei einem VB-Programm 
gesehen, nicht selbst verwendet. Weiss also nicht, ob es das auch für 
C++ gibt...

Und für die Erstellung der Oberfläche kann ich dir leider für C++ nicht 
weiterhelfen, ich hab immer VB verwendet, da dort das 
Oberflächen-Erstellen VIEL einfacher sein soll als in C++ (hab ich 
zumindest gehört).

Ralf

Autor: Erhard henkes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
C++ und µC passt schon. Es gibt nur einiges zu beachten:

1) Makefiles selbst basteln (bzw. mit AVR Studio erstellen, exprotieren, 
manipulieren, als externes Makefile wieder einbinden)

2) new und delete erstezen:
// Ersatz für new, new[], delete und delete[] der fehlenden 
C++-Standard-Bibliothek
void* operator new      (size_t size) { return malloc(size); }
void* operator new[]    (size_t size) { return malloc(size); }
void  operator delete   (void* ptr)   { free(ptr); }
void  operator delete[] (void* ptr)   { free(ptr); }

3) Bei abstrakten Klassen pure virtual abfangen:
// pure virtual wird dennoch ausgeführt:
extern "C"{
void __cxa_pure_virtual() {} }

Dann geht das schon. Compiler ist avr-g++.exe.

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.