www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit UART - ATMega88 und STK500


Autor: Tim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich bin dabei mir eine Seriell to SPI Platine zu basteln. Leider habe 
ich schon Probleme beim empfangen der seriellen Daten über die 
Schnittstelle des STK500.

Hier erst mal der Code:
#include <stdlib.h>
#include <avr/io.h>
#include <avr/interrupt.h>

#define FOSC 8000000//14745600 //Clock Speed
#define BAUD 9600
#define UBRR ((FOSC / (BAUD * 16L)) - 1)

volatile unsigned char data;


int main(void)
{
  /* PD1 als Ausgang */
  DDRD = 0x02;

  /* Aktivieren des Empfängers und des Daten leer-Interrupts */
  UCSR0B = (1<<RXCIE0) | (1<<RXEN0);

  /* baud rate*/
  UBRR0H = (unsigned char) (UBRR>>8);
  UBRR0L = (unsigned char) UBRR;

  /* frame format: 8data, 1stop bit*/
  UCSR0C = (1 << UCSZ01) | (1 << UCSZ00);

  sei();


  while(1)
  {
    ;
  }
   
}


ISR(USART_RX_vect)
{
  data = UDR0;
}



Es werden einfach keine Daten empfangen. Die Hardware und die 
Verbindungen sind in Ordnung, habe sie gerade mit einer anderen UART 
Software getestet. Was merkwürdig ist, wenn ich das TXEN0 und das UDRIE0 
Bit im UCSR0B Register setze und den UDRE Interrupt wie folgt in das 
obige Programm einsetze, funktioniert auch der Datenempfang.
ISR(USART_UDRE_vect)
{
  UDR0 = 'h';
}

Kann mir jemand sagen warum das so ist?

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Es werden einfach keine Daten empfangen.

Wie kannst du das bei dem Programm erkennen?

MfG Spess

Autor: Tim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Über das JTAGICEmkII.......

Autor: Joachim B. (jojo84)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist mit dem CKDIV/8-Fuse?

Autor: Tim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist nicht gesetzt. Sonst würde die Variante mit dem Senden ja auch nicht 
funktionieren.....

Versteh nur nicht was das Empfangen mit dem Senden zu tun hat, doch 
eigentlich nix..... sind doch zwei paar Schuhe..... Aber wenn ich sende 
klappt auch das empfangen.......

Autor: Thomas Eckmann (Firma: Thomas Eckmann Informationst.) (thomase)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tim schrieb:
> Versteh nur nicht was das Empfangen mit dem Senden zu tun hat, doch
>
> eigentlich nix..... sind doch zwei paar Schuhe.....

Gar nichts.

Ist im Compiler der richtige Controller eingestellt? Die Einstellung des 
JTAGICE ist unabhängig davon.

mfg.

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.