Forum: Mikrocontroller und Digitale Elektronik USART macht nur Nullen


von Johannes (Gast)


Lesenswert?

Hallo,

mein USART schickt nur Nullen raus. Die Konfiguration ist so gemacht
wie im Datenblatt. Hier der Quellcode:

#include <avr/io.h>
#include <inttypes.h>

#include <delayms.c> //eigene Timerfunktion die etliche Milisec
"wartet"

int main(void)
{
uint8_t LED;
unsigned int baud;

DDRC = 0x00;
SETBIT(DDRC,PC0); //hier sind meine LEDs qngeshclossen
SETBIT(DDRC,PC1);
LED = 1;

/*USART Konfiguration*/
baud = 9600;
UBRRH = (unsigned int)(baud>>8);
UBRRL = (unsigned int)(baud);

UCSRB = 0x00;
SETBIT(UCSRB,RXEN); //RXD und TXD enablen
SETBIT(UCSRB,TXEN);

UCSRC = 0x00;
SETBIT(UCSRC,URSEL);  //use UCSRCregister instead of UBRRH
SETBIT(UCSRC,USBS);    //1 Stopbit
SETBIT(UCSRC,UCSZ0);  //setting 8bit Format
SETBIT(UCSRC,UCSZ1);

/*Schleife*/
for(;;)
 {
  while (!(UCSRA & (1<<UDRE)));  // wait for empty transmit buffer

   UDR = 0X20; // !!!!!! EGAL was ich hier angeb, es wird immer 0x00
rausgeschickt (Ich ueberwache mit Serial Monitor Programm)

  LED = 1-LED;
  PORTC = LED;
  delayms(300);
 }

}

Wer sieht da einen Fehler?

mg,
Johannes

von Johannes (Gast)


Lesenswert?

Ich habs, Fehler in der HArdware :) Chip falschherum reingeloetet...
!!!!!!!grmpf!!!!!!!!!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.