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!
probier das mal
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
Taster gedrückt halten -> dimmen
Das tut wunderbar ;-) Vielen Dank! Gruß GG
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.