Hallo zusammen,


da ich das auf die schnelle nicht finde, frage ich lieber gleich, dazu folgender Quelltext:

/***Programmanfang***/
#include <avr/io.h>

#ifndef F_CPU
#define F_CPU 16000000 //16MHz
#endif

int main(){

DDRB = (1<<PB0); //PB0 auf Ausgang

while(1){
PORTB |= (1<<PB0); //einschalten und
PORTB &= ~(1<<PB0); //sofort wieder ausschalten
}
return 0;

}
/***Programmende***/

Das Programm soll natürlich mit maximaler Frequenz den PORT/PIN B0 ein und ausschalten. Ich bekomme aber 800kHz.

Meine Fusebits:

CKSEL = 1111 (16MHz Quarz)
CKOPT = 0
SUT0 = 0
SPIEN = 0

der Rest auf 1

Frage 1:
Dachte die maximale Frequenzausgabe liegt bei mindestens 1/2 F_CPU also 8MHz, stimmt das?

Frage 2:
Die Fusebits sind okay?

Beste Grüße
Frank