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

TM4C1294输出PWM,修改不了占空比

先附上代码:

//
// 使能M0PWM外设  
//  
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM0);    
 
//  
// PWM不分频  
//  
MAP_SysCtlPWMClockSet(SYSCTL_PWMDIV_1);    
 
//  
// Configure the PWM0 to count down without synchronization  
// 配置GEN3递减计数模式不同步模式  
//  
PWMGenConfigure(PWM0_BASE,PWM_GEN_3,PWM_GEN_MODE_DOWN | PWM_GEN_MODE_NO_SYNC);
   
//  
// 设置PWM周期  
// N=(1/f)*SysClk,f is the desired frequency  
//  
PWMGenPeriodSet(PWM0_BASE,PWM_GEN_3,100);    
 
//  
// 设置PWM占空比  
// Default 50%  
//  
PWMPulseWidthSet(PWM0_BASE,PWM_OUT_7,50);    
 
//  
// 使能PWM输出状态  
//  
PWMOutputState(PWM0_BASE,PWM_OUT_7_BIT,true);    
 
//  
// 使能PWM发生器  
//  
PWMGenEnable(PWM0_BASE,PWM_GEN_3);
 
这种情况下(SYSCLK:120M):
 
1、其他都不变,更改占空比,示波器查看正常;
 
2、其他都不会,修改PWM分频为MAP_SysCtlPWMClockSet(SYSCTL_PWMDIV_64);,示波器查看的周期没变;
 
3、其他都不变,修改周期100为30000,示波器查看的波形周期正常4K,但是占空比却不是50%,继续更改占空比为80,也没效果,占空比很小;
 
综上,就是1、修改分频没效果;2、更改了周期100数字之后,占空没有输出预期值。 初次涉及TM4C的芯片,有很多不懂的,不知道我这个问题出在哪了,谢谢
 
大家指点指点。
user4661451:

回复 Maka Luo:

谢谢大神,完美解决了问题。

 

就是有一点,PWMGenPeriodGet(PWM0_BASE, PWM_OUT_0) / 4,这个官方历程函数用的有问题,申明函数是这样的:PWMGenPeriodGet(uint32_t u32Base, uint32_t u32Gen)。

赞(0)
未经允许不得转载:TI中文支持网 » TM4C1294输出PWM,修改不了占空比
分享到: 更多 (0)