Fällt mir so nix böses auf. Für deine Oszi einstellungen legst du die Hand ins Feuer ?
Hallo
also ich hab da wieder mal ein kleines Problem. Bis jetzt habe ich einen ATmega 16 eingesetzt, ab jetzt verwende ich aber einen ATmega128. Bei diesem will ich nun die UART0 Schnittstelle benutzen. Zum Test habe ich einfach ein kleines Text-file hergenommen und die UART init wie folgt geändert. Nur leider läuft das Programm nicht
Frequenz (intern 8Mhz)
Baud 9200
Code:#include <inttypes.h> #include <stdio.h> #include <avr/io.h> #define USART_BAUD_SELECT 51 char cText[] = "Hello, world !\r\n"; //----------------------------------------------------- void _writeChar(char c) { while (!(UCSR0A & (1<<UDRE0))) {} UDR0 = c; } //----------------------------------------------------- void _writeString(unsigned char *string) { while ( *string) _writeChar(*string++); } //----------------------------------------------------- int main(void) { DDRF=0xff; PORTF |= (1<<PF1); PORTF &= ~(1<<PF2); UCSR0B = (1<<TXEN0); UCSR0C = (1<<UMSEL0)|(1<<UCSZ01)|(1<<UCSZ00); //Asynchron 8N1 UBRR0L = (unsigned char) USART_BAUD_SELECT; _writeString(cText); return 0; }
Fällt mir so nix böses auf. Für deine Oszi einstellungen legst du die Hand ins Feuer ?
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
schau mal nach den Fusebits, beim ATMega128 gibts nämlich einen Mega103-Kompatibilitätsmodus, der standartmäßig aktiviert ist
diesen kannst du über die Fusebits deaktivieren
evtl. funktioniert deswegen die UART0 nicht
Also meine Fusebits sehen wie folgt aus:
Gesetzt sind nur:
JTAG INterface Enabled
Preserve EEPROM memory through the Chip Erase Cycle
Boot Flash section size=4096
Brown-out detection lever at VCC=2.7V
Int. RC Osc. 8Mhz; Start-up time: 6CK + 0ms
Hab auch schon im Makefile nachgeschaut, da ist auch 8 Mhz eingestellt. Und die Verbindungen sind auch auf dem STK 500 gesteckt, sowie der Jumper für XTAL1 gezogen. ALso so gesehen müsste alles passen und es sollte laufen
Hi habe das gleiche Problem. nur nehme ich einen Atmel Butterfly Board mit dem 169. Allerdings ist es bei mir so, das wenn ich das Kabel zum RS232 dran habe das Board gar nicht erst hochfährt. Auch bei der Standartsoftware die es von Atmel gibt kriege ich zwar im Hyperterminal die Fragezeihen bei Joystickbewegung, nur das Board fährt dann nicht hoch. Fahr ich es hoch ohne und will dann ein Verbindung herstellen will er auch nichts lesen oder schreiben. Habe an der Orginal konfiguration nichts verändert, sondern direkt runtergeladen. hat jemand eine Idee?
liegt es ev. an dem Kabel, ist 1 m lang?
Lesezeichen