Hallo,
ich möchte mit dem Attiny eine LED heller und dunkler werden lassen. Aber sie bleibt bei mir ganz dunkel
Code:
#define F_CPU 8000000UL
#include <avr/interrupt.h>
#include <avr/io.h>
#include <util/delay.h>
uint8_t i;
int main(void) {
i = 0;
DDRB |= (1<<PB0);
PORTB &= ~(1<<PB0);
DDRB |= (1 << PB1);
PORTB &= ~(1<<PB1);
TCCR0A |= 1<<COM0A1 | 1<<WGM01 | 1<<WGM00;
TCCR0B |= 1<<WGM02 | 1<<CS02 | 1<<CS00;
OCR0A = 256-1;
OCR0B = 0;
sei();
while(1)
{
for (i=0; i<250; i++){
OCR0B = i;
_delay_ms(10);
}
for(i=250; i>0; i--){
OCR0B = i;
_delay_ms(10);
}
}
}
Eigentlich denke ich, dass der Pin mit OC0A (PB0) alle 32ms auf High gesetzt wird (OCR0A=255) und sobald OCR0B seinen Wert erreicht hat, wird der Pin wieder auf Low gesetzt.
in der whil-Schleife setze ich OCR0B ja immer höher und anschließend immer niedriger. Damit möchte ich eigentlich, dass die LED heller und dunkler wird.
Aber meine LED bleibt komplett aus
habe ich noch etwas vergessen?
Chandler
Lesezeichen