工具/软件:Code Composer Studio
大家好、我需要生成五个(10 20 30 40 45) KHz 的差分信号、 我已经配置了两个 PWM 输出来为我生成20和40 KHz 信号、 但是、在输出端、只有第一个信号具有正确的周期、第二个信号具有与第一个信号相同的周期、但对占空比进行了修改、尽管我已经用 50%的占空比配置了这两个信号。 代码如下:
#include
#include
include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/debug.h"
#include "driverlib/fpu.h"
#include "driverlib/gpio.h"
#include "driverlib/interrupt.h"
#include "driverlib_rom.idt.inc"driverlib"#driverlib.idt/driverf.idt.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.id
G_ui32SysClock = MAP_SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz |
SYSCTL_OSC_MAIN |
SYSCTL_USE_PLL |
SYSCTL_CFG_VCO_480)、120000000);
SysCtlPWMClockSet (SYSCTL_PWMDIV_1);
SysCtlPeripheralEnable (SYSCTL_Periph_PWM0);
SysCtlPeripheralEnable (SYSCTL_Periph_PWM1);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOF);
GPIOPinConfigure (GPIO_PF0_M0PWM0);
GPIOPinConfigure (GPIO_PF1_M0PWM1);
GPIOPinTypePWM (GPIO_PORTF_BASE、GPIO_PIN_0);
GPIOPinTypePWM (GPIO_PORTF_BASE、GPIO_PIN_1);
PWMGenConfigure (PWM0_BASE、PWM_GEN_0、PWM_GEN_MODE_DOWN | PWM_GEN_MODE_SYNC);
PWMGenConfigure (PWM0_BASE、PWM_GEN_1、PWM_GEN_MODE_DOWN | PWM_GEN_MODE_SYNC);
PWMGenPeriodSet (PWM0_BASE、PWM_GEN_0、6000);
PWMGenPeriodSet (PWM0_BASE、PWM_GEN_1、3000);
PWMPulseWidthSet (PWM0_BASE、PWM_OUT_0、PWMGenPeriodGet (PWM0_BASE、PWM_GEN_0)/(2));
PWMOutputState (PWM0_BASE、PWM_OUT_0_BIT、TRUE);
PWMGenEnable (PWM0_BASE、PWM_GEN_0);
PWMPulseWidthSet (PWM0_BASE、PWM_OUT_1、PWMGenPeriodGet (PWM0_BASE、PWM_GEN_1)/(2));
PWMOutputState (PWM0_BASE、PWM_OUT_1_BIT、TRUE);
PWMGenEnable (PWM0_BASE、PWM_GEN_1);
while (1)
{
}
}
我想知道是否可以使用 PWM 生成5个信号、每个信号具有各自的周期。
