www.mikrocontroller.net

Forum: Compiler & IDEs USART - Ungelöst


Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, ich habe ein Problem. Ich hab den AVR ATmega 644P mit 20Mhz Quarz 
Oszi. Ziel ist es, den USART zum laufen zu bringen.
Hier der Code (C):

#include <avr/io.h>



//  =================================
//  ===== USART initialisieren  =====
//  =================================

void init_usart ()
{
  //  Baudrate festlegen (Datenblattseite 190)
  UBRR0L = 129;

  //  USART auf senden und empfangen einstellen
  UCSR0B = (1<<RXEN0)|(1<<TXEN0);

  //  Stopbits einstellen. (USBSn auf 1 = 2 Stopbits - 0 = 1 Stopbit?
  UCSR0C = (1<<USBS0)|(3<<UCSZ00);

  //  8-bit Übertragung
  UCSR0C |= (1<<UCSZ01) | (1<<UCSZ00);
}


  // =================================
  // ===== USART-Sendefunktion =====
  // =================================

  void USART_Transmit( unsigned char data )
  {
    /* Wait for empty transmit buffer */
    while ( !( UCSR0A & (1<<UDRE0)) )
      ;
    /* Put data into buffer, sends the data */
    UDR0 = data;
  }

  // =================================
  // ===== USART-Empfangsfunktion =====
  // =================================

  unsigned char USART_Receive( void )
  {
    /* Wait for data to be received */
    while ( !(UCSR0A & (1<<RXC0)) )
      ;
    /* Get and return received data from buffer */
    return UDR0;
  }


int main(void)
{
  init_usart();

  while(1)
  {

    //USART_Transmit(USART_Receive());
    USART_Transmit('a');


  }
}

Der Schaltplan sieht so aus:
http://www.avr-praxis.de/forum/attachment.php?atta...
Bilder auf meinem Steckboard gibt es hier:
http://img25.imageshack.us/gal.php?g=img0196r.jpg
Spannungen an den Kondensatoren:
C3 = 8,40V
C4 = 8,90V
C5 = 4,47V
C6 = 8,90V
Phänomen:
(Hab einen USB-RS232-Dongle)
1. Stom an => Rote LED leuchtet
2. RSR232 Stecker auf die Buchse ohne USB-Eingesteckt!! => Blaue LED 
leuchtet schwach und Rote unverändert.
3. USB-Stecker an PC => Blaue leuchtet heller und während der Dongle 
erkannt wird (dieses Geräusch, wenn man ein USB-Gerät einsteckt) blinkt 
sie unregelmäßig am hellsten)

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nur zur Info, habe es vergessen zu schreiben. Die Rote LED ist senden 
und die Blaue empfangen. Der eigentlich müsste ich im TErminalprogramm 
nur "a"s sehen

Autor: Ahem (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann den Schaltplan nicht sehen!

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
//  Stopbits einstellen. (USBSn auf 1 = 2 Stopbits - 0 = 1 Stopbit?
UCSR0C = (1<<USBS0)|(3<<UCSZ00);

//  8-bit Übertragung
UCSR0C |= (1<<UCSZ01) | (1<<UCSZ00);

Lies dir im Datenblatt den Abschnitt über "Accessing UBRRH/ UCSRC 
Registers" durch. Das geht so einfach nicht.

Für allererste Test hat es sich bewährt, die default-Einstellungen zu 
benutzen. Lass UCSR0C einfach in Ruhe, und stell deinen PC auf 8bit, 1 
stop bit, no parity.

Oliver

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uuups, Mega644. Bei dem klappt das doch mit UCSR0C ohne weitere 
Verrenkungen.

Oliver

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier der Schaltplan. So müsste es gehen.
http://img11.imageshack.us/img11/470/max232.png

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fehler gefunden. Manchmal ist man einfach zu Dumm. Habe die Belegung am 
Stecker gespiegelt. Jetzt geht es.

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.