Forum: Mikrocontroller und Digitale Elektronik PWM-Signal erzeugen


von Mark J. (markjo)


Lesenswert?

Hallo,

ich verwende den PIC16F1828 von Microchip und wollte mit C-Code ein PWM 
Signal generieren. Unten der generierte C- Code. Weiß jemand den Fehler?
Danke im Voraus.

void main()
    {

                TRISC0 = 0;  //Clearing this bit will make PORTC as 
output.
                PR2 = 100;  // Set the Cycle time to 100 for varying the 
duty cycle from 0-100
                CCP1CON = 0x0F;  //configuring CCP1CON register for PWM 
mode
                T2CON = 0x04;  // enable(TMR2) T2CON without Prescaler 
and postscale configuration.


while(1)
    {

        CCPR1L = 20;  //duty cycle  75 %
        __delay_ms(100);
    }

}

von Veit D. (devil-elec)


Lesenswert?

Hallo,

CCP1CON ... gehört zu welchen Timer?
PR2 ... gehört zu welchen Timer?
T2CON ... gehört zu welchen Timer?
CCPR1L ... gehört zu welchen Timer?
Timer n Gate Pin?

Vorschlag. Konzentriere dich auf EINEN Timer. Lese das Timer Kapitel 
komplett. Oder suche nach Beispielen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.