34,6 → 34,12 |
DDRD &= ~(1<<DDD6); |
PORTD |= (1<<PORTD6); |
|
// Channel 5,6,7 is decoded to servo signals at pin PD5 (J3), PD4(J4), PD3(J5) |
// set as output |
DDRD |= (1<<DDD5)|(1<<DDD4)|(1<<DDD3); |
// low level |
PORTD &= ~((1<<PORTD5)|(1<<PORTD4)|(1<<PORTD3)); |
|
// Timer/Counter1 Control Register A, B, C |
|
// Normal Mode (bits: WGM13=0, WGM12=0, WGM11=0, WGM10=0) |
127,10 → 133,10 |
PPM_in[index] = tmp; // update channel value |
} |
index++; // next channel |
// demux sum signal fpr channels 5 to 7 |
if(index == 5) PORTD |= 0x20; else PORTD &= ~0x20; // Servosignal an J3 anlegen |
if(index == 6) PORTD |= 0x10; else PORTD &= ~0x10; // Servosignal an J4 anlegen |
if(index == 7) PORTD |= 0x08; else PORTD &= ~0x08; // Servosignal an J5 anlegen |
// demux sum signal for channels 5 to 7 to J3, J4, J5 |
if(index == 5) PORTD |= (1<<PORTD5); else PORTD &= ~(1<<PORTD5); |
if(index == 6) PORTD |= (1<<PORTD4); else PORTD &= ~(1<<PORTD4); |
if(index == 7) PORTD |= (1<<PORTD3); else PORTD &= ~(1<<PORTD3); |
} |
} |
} |