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

急求! TM4C123G6HPM PWM 脉宽输出中PC5引脚的问题。参照库中的接口,程序如下:

int main()

{

SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
SYSCTL_XTAL_16MHZ);

SysCtlPWMClockSet(SYSCTL_PWMDIV_1);
SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM0);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);

GPIOPinConfigure(GPIO_PC5_M0PWM7);

GPIOPinTypePWM(GPIO_PORTC_BASE, GPIO_PIN_5);

PWMGenConfigure(PWM0_BASE, PWM_GEN_3, PWM_GEN_MODE_DOWN |
PWM_GEN_MODE_NO_SYNC);

PWMGenPeriodSet(PWM0_BASE, PWM_GEN_3, 100);
PWMPulseWidthSet(PWM0_BASE, PWM_OUT_3, 25);

PWMOutputState(PWM0_BASE, PWM_OUT_7_BIT, true);
PWMGenEnable(PWM0_BASE, PWM_GEN_3);

while(1)
{
}

}

程序运行后用示波器量相应的引脚,却没有想要的方波出现啊?求大神帮忙看看,什么原因。

hong she:

回复 xyz549040622:

怎么讲?我昨晚弄了2个小时发现那个PC5端口要解锁才行,有输出,官方sample里面用的PB0不需要这一步,所以我加了如下:

HWREG(GPIO_PORTC_BASE+GPIO_O_LOCK) = 0x4C4F434B; HWREG(GPIO_PORTC_BASE+GPIO_O_CR) |= 0XFF; HWREG(GPIO_PORTC_BASE+GPIO_O_LOCK) =0;

但是新问题来了,现在我PWM有输出,但是去控制风扇却不行。蛋疼啊!!!

我用的风扇是AFB0712LB,兄台有这方面的经验吗?求指教。

xyz549040622:

回复 hong she:

你的风扇是用什么驱动的了,是不是因为TM4的IO驱动能力不够呢?

hong she:

回复 xyz549040622:

风扇那边有3根线,电源,接地,和一根PWM输入的。这个风扇是上电就能转,后面都是通过调节PWM频率来控制风扇的转速。看原理图上面应该是GPIO口输出的PWM信号经过一个芯片把信号源放大来驱动风扇。你说到IO的驱动能力不够,我查看代码发现在设置GPIO的配置时,有设置2mA,8mA之类的这个,好像一般都是用的2mA,可能跟这个有关?试试看吧。可能我说的有些不清楚,见谅哈!

xyz549040622:

回复 hong she:

这个帖子被淹没了,我的qq邮箱收不到TI发的邮件,不知道哪里设置错了,没有及时跟进。不知道楼主调试的咋样啦?成功了没有

JunZhu Dou:

回复 xyz549040622:

怎么控制PWM0和PWM1反转?实现电机的正反转呢?我看到PWM有个反相功能是不是这个意思?

xyz549040622:

回复 JunZhu Dou:

电机是通过PWM波的占空比,来控制对电机的供电电压的大小,从而控制电机的转动速率。你控制PWM占空比就可以了

xyz549040622:

回复 JunZhu Dou:

仔细查了查资料,更正下我的理解。比如三相的电机,有A,B,C三相,你控制这三相的时序和频率就可以控制电机了。PWM的反相功能正是这个意思。

赞(0)
未经允许不得转载:TI中文支持网 » 急求! TM4C123G6HPM PWM 脉宽输出中PC5引脚的问题。参照库中的接口,程序如下:
分享到: 更多 (0)