Hallo,
habe mir eine Sabertooth Platine bestellt und versuche mich gerade bei
der Ansteuerung. Die Platine kann zwei Motoren via PWM ansteuern. Diese
Platine wollte ich per R/C Code (Modelbau) ansteuern.
Signal Länge 20ms
Vorwärte PinX 2ms High
Stopp PinX 1,5ms High
Rückwärts PinX 0,9ms High
Die PWM funktion in diesem AVR kann ich nicht nutzen da diese zu schnell
ist, also habe ichs anderes Versucht.
Folgender Code der nicht funktioniert ...
1 | ISR (TIMER2_COMP_vect)
|
2 | {
|
3 | us+=10;
|
4 | if(us==20000){ us=0; }
|
5 |
|
6 |
|
7 | if(us==0){
|
8 | PORTD |= (1<<PD4);
|
9 | }
|
10 | if(us==900){
|
11 | PORTD |= (0<<PD4);
|
12 | }
|
13 | }
|
14 |
|
15 | int main(void){
|
16 | us=0;
|
17 |
|
18 | // Initialisierung:
|
19 | TCCR2 = (1<<CS20) | (1<<WGM21); // Prescaler von 1 | CTC-Modus
|
20 | OCR2 = 79; // Vergleichswert
|
21 | TIMSK |= (1<<OCIE2); // Interrupt aktivieren
|
22 | sei();
|
23 |
|
24 | DDRD |= (1<<PD4) | (1<< PD5);
|
25 |
|
26 | while(1)
|
27 | {
|
28 |
|
29 | }
|
30 | }
|
Vielen Dank für die Hilfe