www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega 8 register über Visual Basic MsComm laden


Autor: Joachim H. (husky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ,

vielleicht hat von Euch schon jemand Erfahrung mit der Schnittstelle,
von Visual Basic über die UART zum Mikrocontroller.

Ziel ist es eine Zahl 0-255 in ein Register meines Atmega 8 
einzuspielen, damit ich diese intern im Atmega 8 weiterverarbeiten kann.

Atmega8 - max232 - PC

Ich kann mit dem Aufbau Text vom Atmega8 an den PC senden.

Was muß man beachten wenn man eine Zahl vom PC an den Atmega8 schickt,
damit dieser aus dem String der übertragen wird, wieder eine Zahl macht 
?

vielen Danke für Eure Hilfe
Joachim

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie sendest du das Zeichen, als ASCII-Zeichen, dann musst du es mit atoi 
umwandeln, oder als hex-Wert, dann kannst du es ja direkt 
weiterverarbeiten.
Am einfachsten ist natürlich ein unsigned char.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hubert G. schrieb:
> oder als hex-Wert, dann kannst du es ja direkt
> weiterverarbeiten.

Was meinst du mit Hex-Wert?

Direkt weiterverarbeiten kann man bestenfalls eine binär übertragene 
Zahl.
Ein in hexadezimaler Darstellung übertragener Wert muß wieder
zurückkonvertiert werden.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Joachim H. schrieb:

> Ich kann mit dem Aufbau Text vom Atmega8 an den PC senden.

Das ist dann schon mal die halbe Miete

> Was muß man beachten wenn man eine Zahl vom PC an den Atmega8 schickt,
> damit dieser aus dem String der übertragen wird, wieder eine Zahl macht
> ?

Das du im String eindeutig den Textbereich erkennen kannst, an dem die 
'Zahl' anfängt und an dem die 'Zahl' endet.

Wenn du die Zahlen 23 45 78 hintereinander übertragen willst, muss da 
ein Trennzeichen dazwischen, denn aus dem Text

   234578

kann man viele Zahlen bilden. Aber zb

  23;45;78;

ist eindeutig.

Auf µC Seite musst du dann nach diesem Trennzeichen suchen, den 
entsprechenden Abschnitt herauskopieren und mit einer geeigneten 
Umwandlungsfunktion aus dem Text "45" die richtige Zahl 45 machen.

Das ganze ist mehr eine Übung in Textverarbeitung bzw. Benutzung der 
Stringfunktionen als sonst irgendetwas anderes.

Autor: Joachim H. (husky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte mich für die Antwort bedanken.

Werde jetzt nach einer Umwandlungsfunktion suchen,
 mit der es möglich ist

z.B.

Text"45" in Zahl 45 zu wandeln.


Danke !!!

Autor: Klaus De lisson (kolisson)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt ein "val()" Funktion

Gruss K.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus De lisson schrieb:
> Es gibt ein "val()" Funktion

Wo?

Eher atoi() oder atol():
http://www.nongnu.org/avr-libc/user-manual/group__...

Oder sscanf(), wenn man den Platz hat.

Autor: Joachim H. (husky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gibt es auf µC Seite einen Befehl.

was in Visual Basic das Val ist.

Nach einem Trennzeichen suchen, das kann ich programmieren.

Mit welchem Befehl kann ich in Assembler die Umwandlung beeinflussen ?

Autor: Klaus De lisson (kolisson)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Klaus De lisson schrieb:
>> Es gibt ein "val()" Funktion

>Wo?

Naja z.B. in Bascom..  aber es steht ja eigentlich garnicht im Text,
mit was hier programmiert werden soll.

Gruss Klaus

Autor: Joachim H. (husky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Mit welchem Befehl kann ich in Assembler die Umwandlung beeinflussen ?"

mit Assembler würde ich gerne den  Miktocontoller programmieren und die 
Daten weiterverarbeiten sollen

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.