Forum: Mikrocontroller und Digitale Elektronik NECV850 (Starterkit CAN IT!) PWM


von Maik (Gast)


Lesenswert?

Hallo,

ich arbeite zur Zeit mit dem NEC V850 und versuche eine PWM zu erzeugen. 
Hat jemand schon einmal eine PWM programmiert und könnte mir mal den 
Quelltext zum Vergleich zur Verfügung stellen?

Mein Problem ist, dass die Ausgänge zum entsprechenden Timerkanal nicht 
mit getoggelt werden. Weiterhin bekomme ich Interrupts bei den CC0 und 
CC1-Werten, welche aber bei jedem Durchlauf anders sind. Daher vermute 
ich, dass ich in der Initialisierung noch einen Fehler habe. Aus dem 
Datenblatt habe ich leider auch keine Informationen gewonnen die zur 
Lösung des Problems führen.

Hier ein kurzer Codeausschnitt für die Initialisierung:

    TAA2CTL0 = 0x07;              // internal count
    TAA2CTL1 = 0x04;              // set operation mode PWM
    TAA2CCR0 = 0x61A8;            // compare value
    TAA2CCR1 = 0x11A8;
    TAA2IOC0 = 0x0F;              // enable Timer output
    TAA2IOC1 = 0x00;

    TAA2CTL0 |= 0x80;             // start Timer TAA2

    TAA2CCIC0 = 0x03;             // enable Timer TAA2CC0 interrupt
    TAA2CCIC1 = 0x03;             // enable Timer TAA2CC1 interrupt

von Daniel E. (Gast)


Lesenswert?

Hier ist der Code für den NECV850e/Dx3, um ein PWM-Signal zu generieren,


  // Timer 0 auf 200 ms setzen
  TP0CCR0 = time200ms;
  //Bei 140ms soll Zustand wechseln
  TP0CCR1 = time140ms;

  TP0CTL0 = 0x86;
  /* Independent operation mode, software trigger
   * control: no operation, internal clock, PWM-mode
   */
  TP0CTL1 = 0x04;

  /*CompareRegister, CompareRegister, */
  TP0OPT0 = 0x00;

Dann kannst du ja mal vergleichen
Hier werden zwei Interrupts erzeugt, die dann in einer Interrupt-Tabelle 
jeweils einer Funktion zugeordnet werden müssen, die dann die Port-Pins 
setzten bzw. rücksetzen

mfg Daniel

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.