工具/软件: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个信号、每个信号具有各自的周期。