MEGA1284, Port schaltet extrem langsam

Gast #1828370
Lesenswert?

Hallo,

ich habe in meinener Schaltung einen MEGA644P gegen einen MEGA1284P 
getauscht. Nun wollte ich mir anschauen, wie schnell ein gewisser 
Codeabschnit durchlaufen wird und dazu einen PORT-Pin togglen. Jetzt 
habe ich festgestellt, das nach zu bzw. abschalten des Pins dieser 
mehrere Sekunden braucht bis er den jeweils anderen logischen Zustand 
angenommen hat. Der Pin ist unbeschalten. Ich bin jetzt einigermaßen 
verwundert. Habe ich da was übersehen, was beim 1284 anders ist als beim 
644? Ach ja: AVR Studio mit GCC
1
DDRA |= (1<<DDA7) | (1<<DDA6) |(1<<DDA5) |(1<<DDA4) | (1<<DDA3) | (1<<DDA2) | (1<<DDA1);
2

3
while(1)  PORTA ^= (1<<4);

Hab jetzt erst mal nur versucht zu togglen, ohne Programm Code 
drumherum, gleiches Problem.

Grüße, ALex
Gast #1828393
Lesenswert?

1
int main (void) {
2
  
3
  DDRA |= (1<<DDA7) | (1<<DDA6) |(1<<DDA5) |(1<<DDA4) | (1<<DDA3) | (1<<DDA2) | (1<<DDA1);
4
  DDRB |= (1<<ADIS_TCS)|(1<<ADIS_CS)|(1<<SELF_TEST)|(1<<RTC_PWR)|(1<<RTC_CS);
5
  DDRC |= (1<<RADIO_PWR) | (1<<BAT_SENS_PWR) | (1<<DDC3) | (1<<DDC2) | (1<<DDC1) | (1<<DDC0);
6
  DDRD |= (1<<LED_GREEN) | (1<<LED_RED) |(1<<DDD5) | (1<<DDD4);
7
  PORTB |= (1<<ADIS_TCS)|(1<<ADIS_CS);  
8
  
9
  while(1)  PORTA ^= (1<<4);
10
}

mit diesem Code teste ich das gerade

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