Forum: Mikrocontroller und Digitale Elektronik USART ATmega 128


von Katrin Kristina (Gast)


Lesenswert?

Hallo,

wir haben da ein kleines Problem. Wir haben einen atmega 128 verbunden
ueber den FTDI 232 BM zu dem PC. Die Verbindungen sind alle vorhanden,
mehrmals nachgeprueft und der FTDI arbeitet auch einwandfrei. Er sendet
Daten zu dem ATmega 128, dieser scheint aber nicht darauf  zu reagieren.
Er geht nicht in die Interruptroutine. Wir benutzen den internen clock
:(. Wir haben das gleiche Programm auf einem Labboard mit dem gleichen
mikrocontroller aber externen Quarz laufen lassen und da funktioniert
es. Kann uns irgendwer helfen????

#include <avr/interrupt.h>
#include <stdlib.h>
#include <avr/signal.h>
#include <stdio.h>
#include <avr/io.h>

void UART1_init(void);

int main()
{
sei();
UART1_init();
}

UART1_init(void){
//set bautrate
UBRR1H = 0;
UBRR1L = 6;
//enable receiver and transmitter
UCSR1B = (1<<RXEN)|(1<<TXEN)|(1<<RXCIE1);
return;
}

SIGNAL(SIG_UART1_RECV)
{
PORTB=(0b00110000|PORTB);
UDR1=UDR1;
}


Katrin und Kristina

von Michael S. (mst)


Lesenswert?

hat der interne clock und der externe clock auf dem labboard die selbe
frequenz? nicht so da eine grundsätzliche fehlkonfiguration
vorliegt...?

von Rahul (Gast)


Lesenswert?

Welchen Takt (Frequenz?) habt ihr denn gewählt. Passt das UBRR noch zum
aktuellen Takt?

von Katrin Kristina (Gast)


Lesenswert?

Ja stimmt das Labboard hat 16 Mhz und der interne clock hat 1 Mhz, das
haben wir aber schon berücksichtigt. (also in den Punkt haben wir das
Programm schon geändert.)

Katrin und Kristina

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.