hei,
PIC18F87K22
Takt mittels PLL 64MHz
für ein Modellbau-Servo wird ein Impuls von 0,9ms bis 2,1ms bei einer
Periode von 20ms benötigt.
Nimmt man hier für den PWM Mode oder Compare Mode?
Bei Testroutinen für den PWM Mode
1 | CCP5CON = 0b00001100;
|
2 | CCPR5H = 0;
|
3 | CCPR5L = 50;
|
4 | PR2 = 255;
|
5 | T2CON = 0b00000111;
|
6 |
|
7 | while(1)
|
8 | {
|
9 | Nop();
|
10 | Nop();
|
11 | }
|
komme ich bei der Periode nur auf 255µs
das ist alternativ für den Compare Mode
1 | CCP1CON = 0b00000010;
|
2 |
|
3 | CCPR1H = 10;
|
4 | CCPR1L = 10;
|
5 |
|
6 | TMR1H = 0;
|
7 | TMR1L = 0;
|
8 |
|
9 | T1CONbits.TMR1CS = 0;
|
10 | T1CONbits.T1CKPS = 0;
|
11 | T1CONbits.SOSCEN = 0;
|
12 | T1CONbits.TMR1ON = 1; // Timer 1
|
13 | T1CONbits.RD16 = 1;
|
14 |
|
15 | PIR3bits.CCP1IF = 0;
|
16 |
|
17 | while(1)
|
18 | {
|
19 | while(PIR3bits.CCP1IF)
|
20 | {
|
21 | TMR1H = 0;
|
22 | TMR1L = 0;
|
23 | PIR3bits.CCP1IF = 0;
|
24 | }
|
25 | }
|
vielen Dank im voraus
schönen Tag