Autor Tema: generacion de un pwm complementario con un tiempo muerto de 1 micro  (Leído 4522 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado franco

  • PIC10
  • *
  • Mensajes: 12
generacion de un pwm complementario con un tiempo muerto de 1 micro
« en: 14 de Noviembre de 2006, 22:21:18 »
deseo generar un pwm complementario  con un tiempo muerto de 1 micro . Mi codigo funciona solo para genrar un tiempo muerto de 4 microssegundo, como puedo modificar el tiempo muerto


#include  <p30f4011.h>
#include  <stdio.h>
#include  <pwm.h>

_FOSC( CSW_FSCM_OFF  & XT);
_FWDT(WDT_OFF);
_FBORPOR(PBOR_ON  & PWRT_OFF & MCLR_DIS);

   
unsigned int sptime, config1, config2, config3,config4, PeriodoPWM, ciclotrabajo, config;


int main(void)

{
   
   TRISE=0;TRISB=0;
   ADPCFG=0xFFFF;
   sptime = 0x0;

while(1)
   {
   config1 = (PWM_EN  & PWM_OP_SCALE1 & PWM_IPCLK_SCALE1 & PWM_MOD_FREE);
   config2 = (PWM_MOD3_COMP & PWM_PEN3H & PWM_PDIS2H & PWM_PDIS1H &
           PWM_PEN3L & PWM_PDIS2L & PWM_PDIS1L);
   config3 = (PWM_SEVOPS1 & PWM_OSYNC_PWM & PWM_UEN);
   config4   = (PWM_DTA1 & PWM_DTAPS1);
               config  = (PWM_DTS3A_UA & PWM_DTS3I_UA);

esta funcion me la marca como error  //SetMCPWMDeadTimeAssignment(config);
          SetMCPWMDeadTimeGeneration(config4);         
         PeriodoPWM =4;
         OpenMCPWM(PeriodoPWM,sptime,config1,config2,config3);
         ciclotrabajo = (PeriodoPWM / 2) << 1;
         SetDCMCPWM(3,ciclotrabajo,0);
      }   
         
}

Desconectado pic32

  • PIC12
  • **
  • Mensajes: 57
Re: generacion de un pwm complementario con un tiempo muerto de 1 micro
« Respuesta #1 en: 17 de Junio de 2013, 06:21:48 »
Para eso tienes que usar los registros DTCON1 y DTCON2