-         

Ergebnis 1 bis 5 von 5

Thema: Keine UART kommunikation mit ATmega128

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    14.08.2005
    Ort
    Fürth
    Alter
    37
    Beiträge
    16

    Keine UART kommunikation mit ATmega128

    Anzeige

    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;
      }

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    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.

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.08.2004
    Ort
    Großbardorf
    Alter
    30
    Beiträge
    674
    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

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    14.08.2005
    Ort
    Fürth
    Alter
    37
    Beiträge
    16
    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

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    11.08.2005
    Beiträge
    8

    gleiches Problem

    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?

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •