mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem nach dem ersetzen eines Atmega32 durch Atmega64


Autor: Seba (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe auf meinem board einen Atmega 32 mit einem Atmega 64 ersetzt 
und ein identisches Programm raufgespielt, das eine LED blinken lässt. 
Die Schaltung ist irdentisch geblieben und wurde nur um einen 20Mhz 
Quarz erweitert. Das Programm läuft aber seit dem nicht ;) Kann mir 
jemand ne Erklärung geben?
<code>
#include <avr/io.h>
#include <util/delay.h>
#include <stdint.h>

//Prototypen
void sleep_ms(uint16_t ms);

#define LED_DDR    DDRD        //DDRA, DDRB...
#define LED_PORT  PORTD       //PORTA, PORTB...
#define LED_PORTPIN  PD6         //PA0, PA1..., PB0, PB1..., ...

int main(void){
  /*Den Pin wo die LED angeschlossen
      ist als Ausgang setzen
   */
  LED_DDR |= (1<<LED_PORTPIN);

  //Die LED die ganze Zeit an und aus schalten
  while(1){
    LED_PORT |= (1<<LED_PORTPIN);  //Den Portpin auf high setzen
    sleep_ms(1000000);  //1sek warten
    LED_PORT &= ~(1<<LED_PORTPIN);  //Den Portpin auf low setzen
    sleep_ms(1000000);  //1sek warten
  }
}

/*  Diese Funktion lässt den Controller
    "ms" Millisekunden warten.
  Die while-Schleife wird so oft durchlaufen,
  wie der Funktion übergeben wurde.
  Bei jedem Duchlauf wir noch 1ms gewartet.
*/
void sleep_ms(uint16_t ms){
  while(ms){
    ms--;
    _delay_ms(1);
  }
}
</code>

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich habe auf meinem board einen Atmega 32 mit einem Atmega 64 ersetzt
>und ein identisches Programm raufgespielt, das eine LED blinken lässt.

Programm neu kompiliert?
M103C Fuse auf 1 gesetzt?

Autor: Seba (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Unter Fuses ist der nicht aufgelistet, wo finde ich ihn und ist es 
möglich das er unter anderem namen aufgelistet ist?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ATMega103 compatibility mode ausschalten

Autor: Seba (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo finde ich die option?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Seba (Gast)

>Wo finde ich die option?

Bei den AVR Fuses! Genauer im Extended Fuse Byte.

http://www.engbedded.com/cgi-bin/fc.cgi?P_PREV=&P=...

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo schreibt der Compiler 1000000 bei uint16_t hin?

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ATMega103 compatibility mode gibts doch nur beim M128

Autor: Seba (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist ein Atmega 644, der scheint diese Option nicht zu haben ;), 
andere lösungsvorschläge?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Es ist ein Atmega 644, der scheint diese Option nicht zu haben ;),
>andere lösungsvorschläge?

Diese Information hätte evtl. Posts in die falsche Richtung
verhindert. Ich mach mich mal vom Acker. Such selber.

Autor: Seba (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tut mir leid ;) War keine Absicht, habe mich einfach vertippt

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schon versucht, neu zu compilieren ?

Otto

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt dir der Compiler keine Warnigs aus?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>schon versucht, neu zu compilieren ?

Hab ich 18:17 schon gefragt.

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja Holger - Antwort darauf habe ich aber nicht gefunden ....

Autor: Seba (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Neucompiliert habe ich es und warning ist nur das ich den CPU Takt nicht 
gesetzt hab ;) Ich probiers gleich nochmal mit

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du auch das "#include <iom32v.h>" ausgetauscht ?

Otto

Autor: Seba (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich danke euch allen, jetzt läufts, tatsächlich lag alles an der CPU 
tacktung die falsch eingestellt war ;). Danke, Wochenende gerettet ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.