Problem nach dem ersetzen eines Atmega32 durch Atmega64

Gast #1047603
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>
Gast #1047693
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren