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
hat der interne clock und der externe clock auf dem labboard die selbe frequenz? nicht so da eine grundsätzliche fehlkonfiguration vorliegt...?
Welchen Takt (Frequenz?) habt ihr denn gewählt. Passt das UBRR noch zum aktuellen Takt?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.