Tool/software: TI C/C++ Compiler
hi,
I want to produce dead time that will be two percent of the period ,but I did not get a result in the oscilloscope, where am I making mistakes?
also i can not reverse pwm ,Why is the pdo output not inverted ?
#include <stdint.h>
#include <stdbool.h>
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/sysctl.h"
#include "driverlib/gpio.h"
#include "driverlib/debug.h"
#include "driverlib/pwm.h"
#include "driverlib/pin_map.h"
#include "inc/hw_gpio.h"
#include "driverlib/rom.h"
int main(void)
{
uint32_t cycle;
uint32_t pwmfrequency;
uint32_t deadband;
uint32_t pwmperiod;
pwmperiod=50;
pwmfrequency=SysCtlPWMClockGet()/pwmperiod;
deadband=pwmperiod*2/100;
cycle=pwmperiod*50/100;
SysCtlClockSet(SYSCTL_SYSDIV_1|SYSCTL_USE_PLL|SYSCTL_OSC_MAIN|
SYSCTL_XTAL_16MHZ);
SysCtlPWMClockSet(SYSCTL_SYSDIV_8);
SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM1);
SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM0);
while(!SysCtlPeripheralReady(SYSCTL_PERIPH_PWM0))
{
}
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);
GPIOPinTypePWM(GPIO_PORTD_BASE, GPIO_PIN_0);
GPIOPinTypePWM(GPIO_PORTE_BASE,GPIO_PIN_5);
GPIOPinConfigure(GPIO_PD0_M1PWM0);
GPIOPinConfigure(GPIO_PE5_M0PWM5);
PWMGenConfigure(PWM1_BASE, PWM_GEN_0, PWM_GEN_MODE_DOWN);
PWMGenConfigure(PWM0_BASE,PWM_GEN_2,PWM_GEN_MODE_DOWN);
PWMGenPeriodSet(PWM1_BASE, PWM_GEN_0,pwmperiod);
PWMGenPeriodSet(PWM0_BASE, PWM_GEN_2,pwmperiod);
PWMDeadBandEnable(PWM1_BASE,PWM_GEN_0,deadband,0);
PWMDeadBandEnable(PWM0_BASE,PWM_GEN_2,deadband,0);
// PWMOutputInvert(PWM1_BASE,PWM_OUT_0,false);
PWMOutputState(PWM1_BASE, PWM_OUT_0_BIT, true);
PWMOutputState(PWM0_BASE, PWM_OUT_5_BIT, true);
PWMGenEnable(PWM1_BASE, PWM_GEN_0);
PWMGenEnable(PWM0_BASE, PWM_GEN_2);
while(1)
{
PWMPulseWidthSet(PWM1_BASE, PWM_OUT_0, cycle);
PWMPulseWidthSet(PWM0_BASE,PWM_OUT_4,cycle);
}
}