Hallo Zusammen
habe versucht ein ein-tasten-dimmer zu bauen.
Code:
int main(void)
{
uint8_t direction = 1;
uint8_t pwm=0;
PORTB = 0xff;
DDRB = (1<<PB1);
DDRC = 0x00;
PORTC = 0x00;
TCCR1A = (1<<WGM11) | (1<<COM1A1);
TCCR1B = (1<<WGM13) |(1<<WGM12) |(0<<CS11) | (1<<CS10);
ICR1 = 0xFFFF;
OCR1A = 0x00;
while(1)
{
if ((!(PINC & (1<<PINC0)) && (direction==1)))
{
if(++pwm==255)
direction=0;
}
else if ((!(PINC & (1<<PINC0)) && (direction==0)))
{
if(--pwm==0)
direction=1;
}
OCR1A = pwm;
_delay_ms(10);
}
return 0;
}
Programm läuft aber nicht, sowie ich wollte.
PWM muss immer bis 255 hochgezählt oder bis 0 runtergezählt,erst danach
tut die direction toggeln.
Wie muss man den Code ändern, damit die direction nach jedem Dimmgang
toggelt?
Danke für eure Hilfe!