www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Daten vom PC auf den Mikrocontroller


Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe einen AT89c51rc2. Ich möchte Daten von einem Java-Programm auf 
den Mikrocontroller spielen. Dazu benutze ich die Java Communications 
API, was auch gut funktioniert. Mein Problem ist jetzt jedoch zu wissen, 
wo die Daten im Mikrocontroller hinkommen bzw wie mein Assembler-Code 
aussehen muss, um die übertragene Zahl in den Akku zu laden.

Würde mich über Antworten freuen. Danke.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>  Dazu benutze ich die Java Communications API,
> was auch gut funktioniert.

Spricht die eine serielle Schnittstelle an?

Dann wirst Du auch auf Deinem µC die serielle Schnittstelle ansprechen 
müssen.

Autor: Florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Mich würde das Java programm interessieren.

kannst du das online stellen?

mfg flo

Autor: Florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Spricht die eine serielle Schnittstelle an?

>Dann wirst Du auch auf Deinem µC die serielle Schnittstelle ansprechen
müssen.

Da hat er recht, wenn das so ist.
Gibts ein beispiel programm im Datenblatt des Controllers (super Atmel)

mfg Florian

Autor: Sebastian (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ich spreche die serielle Schnittstelle an und habe auch bereits die 
entsprechende Datei gefunden, mit der es laut Atmels Documentation 
möglich sein soll die empfangen Daten weiterzuverarbeiten. Leider 
empfängt der Mikrocontroller jedoch offensichtlich immer noch nichts, 
obwohl das Java-Programm seinerseits auch meldet, dass alles 
funktionieren müsste.

Als ich mir mal die Kommentare aus dem Programm der Documentaton 
angeschaut habe, sind mir die Folgenden Angaben aufgefallen:

              /* uart in mode 1 (8 bit), REN=1 */
              /* BRR=0; SRC=0; */
              /* TBCK=1;RBCK=1; SPD=0 */
              /* 9600 Bds at 11.059MHz */

Bei einem Java-Programm sind ja aber lediglich die Baudrate (9600), die 
Datenbits (8), die Stopbits (1) und die Parität(keine) einzustellen. 
Ligt das dann vll. daran, dass diese REN, BRR, SRC, TBCK,RBCK oder 
SPD-Bits (was auch immer das ist) falsch eingestellt sind?

Gruß
Sebastian


PS: Florian, dass Java-Programm habe ich angehängt. Orientiert sich 
stark an dem Beispiel von SUN. Unterschied: Bei meinem wirst du dannach 
gefragt, welche Zahl du übertragen willst.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun, welche Bedeutung die verschiedenen Bits haben, steht im Datenblatt 
des Controllers. Sie werden schon korrekt sein.

Jedoch: Ist sichergestellt, daß der Controller auch wirklich mit dem 
externen Takt von 11.059MHz läuft? Fuses korrekt programmiert und auch 
den richtigen Quarz angeschlossen?

Ist die serielle Schnittstelle des Controllers auf die korrekte Art & 
Weise mit der des PCs verbunden? (Pegelwandler etc.)

Hast Du mal ein Testprogramm auf dem Controller laufen lassen, das 
einfach nur irgendwelche Texte zyklisch auf der seriellen Schnittstelle 
ausgibt und das mit einem Terminalprogramm auf dem PC verifiziert?

Autor: Joe (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ziemlich wirr, kannst du mal deinen ASM sourcecode für den AT89c51rc2 
hereinstellen ? ich kann keinen Code für den MC erkennen.

Hast du schon mal einen MC programmiert ?

Ich hab dir mal nen ASM Code für den AT89S8252 angehängt, bis auf die 
Baudrate sollte der Code passen. Allerdings war das mit 12 MHz / 9600 
Baud, bei einem 11,059 MHz Quarz also den Timer anpassen.

Baudrate siehe:

http://www.keil.com/c51/baudrate.asp

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.