-
-
Ich habe herausgefunden, das es mit dem Zufügen von while(OCR3A <= 0x40) ... zu tun hat.
Also, folgender Code lässt sich problemlos compilierern, entfernt man die Komentarueichen bei OCR3A... gibts wieder Probleme:
void main(void)
{
DDRB = (1<< DDB4) | (1<< DDB5) | (1<< DDB6) | (1<< DDB7);
PORTB = (1<< PB4) | (1<< PB5) | (1<< PB6) | (1<< PB7);
// DDRD = (1<< DDD0);
// PORTD = (1<< PD0);
DDRE = (1<< DDE3) | (1<< DDE4) | (1<< DDE5);
PORTE = (1<< PE3) | (1<< PE4) | (1<< PE5);
TCCR0 = (1 << WGM00) | (1<< COM01) | (1<< CS00);
TCCR1A = (1 << WGM10) | (1<< COM1A1) | (1<< COM1B1);
TCCR1B = (1 << CS10);
TCCR2 = (1 << WGM20) | (1<< COM21) | (1<< CS20);
TCCR3A = (1 << WGM30) | (1<< COM3A1) | (1<< COM3B1) | (1<< COM3C1);
TCCR3B = (1 << CS30);
//OCR0,OCR2,OCR1A,OCR1B,OCR3A,OCR3B,OCR3C = 0x00;
OCR3B = 0x02;
while(x==2)
{
while(OCR0 <= 0x60) {for (i=0;i<300;i++) asm volatile("NOP"); OCR0 = OCR0 + 1;}
while(OCR2 <= 0x40) {for (i=0;i<300;i++) asm volatile("NOP"); OCR2 = OCR2 + 1;}
while(OCR1A <= 0xAE) {for (i=0;i<100;i++) asm volatile("NOP"); OCR1A = OCR1A + 1;}
// while(OCR3A <= 0x40) {for (i=0;i<150;i++) asm volatile("NOP"); OCR3A = OCR3A + 1;}
while(OCR0 >= 0x40) {for (i=0;i<100;i++) asm volatile("NOP"); OCR0 = OCR0 - 1;}
while(OCR2 >= 0x10) {for (i=0;i<100;i++) asm volatile("NOP"); OCR2 = OCR2 - 1;}
while(OCR1A >= 0x10) {for (i=0;i<100;i++) asm volatile("NOP"); OCR1A = OCR1A - 1;}
// while(OCR3A >= 0x01) {for (i=0;i<09;i++) asm volatile("NOP"); OCR3A = OCR3A - 1;}
}}
Habt Ihr sowas schon mal gehabt, weiss jemand was man machen soll????
Danke und Grüße
popi
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen