mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Senden UART ATMEGA64 Probleme


Autor: KlausMahrert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte den Empfang eines Zeichens an UART1 eines ATMega64 mit einem 
Acknowledge bestätigen. Ich habe mich soweit es ging an den Quellcode 
aus dem Datenblatt gehalten, jedoch habe ich bislang keine Erfolge beim 
Senden eines Zeichens erzielen können. Der Empfang klappt. Vielleicht 
könnt Ihr ja den Code mal kritisch beäugen: (ich habe nur die 
Initialisierungsroutine und die entsprechende Routine zum empfangen und 
senden eingefügt; Der Aufruf erfolgt im Hauptprogramm)
InitUART:
        LDI  r24,LOW(2)                 ; UCSR1A = 0x02
        STS  UCSR1A,r24
        LDI  r24,LOW(152)               ; UCSR1B = 0x98
        STS  UCSR1B,r24
        LDI  r24,LOW(6)                 ; UCSR1C = 0x06
        STS  UCSR1C,r24
        LDI  r24,LOW(0)                 ; UBRR1H = 0x00
        STS  UBRR1H,r24
        LDI  r24,LOW(16)                ; UBRR1L = 0x10
        STS  UBRR1L,r24
        ret

Warte:
        ; auf ein empfangenes Byte warten
        lds     r24, UCSR1A
        sbrs    r24, RXC
        rjmp    Warte
        lds     r24, UDR1
Antwort:
        ; warten bis der Sendepuffer leer ist
        lds     r25, UCSR1A
        sbrs    r25, UDRE
        rjmp    Antwort
        ; Antwort senden
        ldi     r25, 0x02
        sts     UDR1, r25
        ret

Vielen Dank
Klaus

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was glaubst Du denn, was die Gegenstelle mit dem Zeichen 0x02 (STX) 
macht? Um was für eine Gegenstelle handelt es sich denn überhaupt? Wenn 
es ein PC ist, dann solltest Du vielleicht zunächst mal besser ein 
Zeichen senden, das auch darstellbar ist...

Autor: KlausMahrert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was mit dem angefangenen Zeichen gemacht wird ist doch erst mal egal. Ja 
es ist ein PC. Das Problem ist aber wie oben beschrieben, dass der 
Controller das Zeichen gar nicht auf die TX Leitung schickt. Mit Hilfe 
eines Oszis kann man so etwas prüfen.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
KlausMahrert wrote:
> Was mit dem angefangenen Zeichen gemacht wird ist doch erst mal egal. Ja
> es ist ein PC. Das Problem ist aber wie oben beschrieben, dass der
> Controller das Zeichen gar nicht auf die TX Leitung schickt. Mit Hilfe
> eines Oszis kann man so etwas prüfen.
Ist das ein Grund, hier pampig zu werden bzw. klugzuscheißen? Die 
Information, dass Du das mit einem Oszilloskop nachgemessen hast, ist im 
OP nicht enthalten und ich bin kein Hellseher!

Abgesehen davon ist Deine ganze Initialisierung Kernschrott. Das kann 
kein Mensch lesen. Warum benutzt Du nicht die Bitnamen? Glaubst Du, hier 
gräbt jemand erst mal das Datenblatt aus und sucht sich die einzelnen 
Bitkonfigurationen zusammen? Für das Schreiben der Steuerregister ist 
das da oben die denkbar schlechteste Methode! So kann man nur pauschal 
und mit Vermutungen antworten (Sender überhaupt eingeschaltet...?)

Autor: KlausMahrert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der einzige der hier pampig wird bist du Ausdrücke wie Kernschrott zu 
verwenden werde ich nicht kommentieren! Ich bin froh das die Mehrzahl 
der User hier im Forum nicht so ist wie du . Vielen Dank für deine 
Hilfe. Wenn dich die Beantwortung von Fragen hier im Forum so 
unterfordert dann würde ich es mal mit einer Aufgabe versuchen die dir 
gewachsen ist! Es gibt weltliche Probleme die deiner Hilfe unbedingt 
bedürfen wie zum Beispiel die Erschaffung eines Perpetuum Mobile (kleine 
Hilfe:http://de.wikipedia.org/wiki/Perpetuum_Mobile) oder das Erreichen 
von Lichtgeschwindigkeit da brauchst du dich nicht mit solchem stupidem 
"Kernschrott" abzugeben. Man gut das ich das Problem auch ohne dich 
lösen konnte. So ein bisschen Ablenkung hilft halt immer wieder.
Schönen Tag noch...

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
KlausMahrert wrote:
> Der einzige der hier pampig wird bist du Ausdrücke wie Kernschrott zu
> [...]
Sorry, Freundchen, wenn Du mir in dem Ton erzählst, dass man "das mit 
Hilfe eines Oszis prüfen kann", das Oszi aber vorher nirgends erwähnt 
wird, dann ist das ziemlich unverschämt. Und anstatt mit brauchbaren 
Informationen rauszurücken, kommt dann sowas? Den "Kernschrott" habe ich 
erst nach Deinen ersten Unverschämtheiten erwähnt! (Und ich bleibe 
auch dabei: Diese Initialisierung ist ungeeignet zur Fehlersuche!) 
Herzlichen Dank für's Gespräch.

Autor: Klausy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der Himmel is blau, die Vögel zwitschern, alles wird gut...

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich bin froh das die Mehrzahl
>der User hier im Forum nicht so ist wie du . Vielen Dank für deine
>Hilfe. Wenn dich die Beantwortung von Fragen hier im Forum so
>unterfordert dann würde ich es mal mit einer Aufgabe versuchen die dir
>gewachsen ist!

Also Leute, jetzt beruhigt euch mal wieder!

@KlausMahrert

Folgendes solltest du beachten:
Das ist ein kostenloses Forum, wo man sich Hilfe holen kann. Die Leute 
hier antworten aus Lust&Freude&Spass. Nicht weil sie es müssen. Du 
hast hier um Hilfe gefragt und solltest (übertrieben ausgedrückt) froh 
sein, dass du kompetente (ja-ich denke das kann ich beurteilen) Hilfe 
bekommst/bekommen wirst.

>Kernschrott
Das Wort ist sicherlich "ungünstig" gewählt, trifft aber zu. Ich denke, 
ich bin lange genug hier dabei, um behaupten zu können, dass  /Johannes 
M/ eine "gewisse" Erfahrung und Kompetenz hat, um solche Aussagen zu 
machen.

Ich würde dir raten, solche Aussagen wie
>Abgesehen davon ist Deine ganze Initialisierung Kernschrott.
nicht als persönliche Beleidigung auffassen, sondern von "alten Hasen" 
gewissen Dinge (gern hinterfragend) hinnehmen...

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.