TI中文支持网
TI专业的中文技术问题搜集分享网站

TM4C123GH6PM控制H桥的程序运行错误

刚接触这块芯片,想用TM4C123G输出双路带死区的PWM波来控制H桥进行直流电路的逆变,输出PWM波的频率为 1MHz

但是在运行如下程序中有bug始终解决不了?在翻转PWM_OUT_0的时候始终有问题,各位大佬帮看看问题出在什么地方啊 。

#include "stdint.h"
#include "stdbool.h"
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/sysctl.h"
#include "driverlib/rom.h"
#include "driverlib/gpio.h"
#include "driverlib/pwm.h"
#include "driverlib/fpu.h"
#include "driverlib/pin_map.h"
#define GPIO_PB6_M0PWM0 0x00011804
#define GPIO_PB7_M0PWM1 0x00011C04

int main (void)
{
//使能FPU
FPUEnable();
FPULazyStackingEnable();
//设置系统时钟为80MHz
SysCtlClockSet(SYSCTL_SYSDIV_2_5 |SYSCTL_USE_PLL|SYSCTL_OSC_MAIN |SYSCTL_XTAL_16MHZ);
//使能PWM0模块
SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM0);
//使能PWM0和PWM1输出所在GPIO
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
//配置PH0/PH1为PWM功能
GPIOPinTypePWM(GPIO_PORTB_BASE, GPIO_PIN_6);
GPIOPinTypePWM(GPIO_PORTB_BASE, GPIO_PIN_7);

GPIOPinConfigure(GPIO_PB6_M0PWM0);
GPIOPinConfigure(GPIO_PB7_M0PWM1);

// PWM时钟配置:不分频
SysCtlPWMClockSet(SYSCTL_PWMDIV_1);
//配置PWM发生器0:加减计数,不同步
PWMGenConfigure(PWM0_BASE,PWM_GEN_0,PWM_GEN_MODE_UP_DOWN| PWM_GEN_MODE_NO_SYNC);

//设置PWM发生器1的频率,时钟频率/PWM分频数/n,80M/1/800=100KHZ
PWMGenPeriodSet(PWM0_BASE, PWM_GEN_0, 80);

//设置PWM0/PWM1输出的脉冲宽度
PWMPulseWidthSet(PWM0_BASE, PWM_OUT_0, 40);//50%占空比
PWMPulseWidthSet(PWM0_BASE, PWM_OUT_1, 40);//50占空比

//使能PWM0和PWM1的输出PWMOutputInvert(PWM0_BASE, PWM_OUT_0, true);
PWMOutputState(PWM0_BASE, (PWM_OUT_0_BIT |PWM_OUT_1_BIT), true);

//设置死区
PWMDeadBandEnable(PWM0_BASE,PWM_GEN_0,1,1);

//使能PWM发生器
PWMGenEnable(PWM0_BASE, PWM_GEN_0);

while(1);
}

xyz549040622:

这么多报错,你程序就这么一点吗?

xyz549040622:

应该还有其他代码的,我复制你的代码编译,没有错误的。

赞(0)
未经允许不得转载:TI中文支持网 » TM4C123GH6PM控制H桥的程序运行错误
分享到: 更多 (0)