[技术问答] 新唐Nano130 PWM抖动的问题

[复制链接]
3703|6
 楼主| yytpy2008 发表于 2013-9-2 10:28 | 显示全部楼层 |阅读模式
最近在学习新唐nano130,发现PWM 有抖动的情况。附件所示:程序如下:请高人们解析:
int32_t main (void)
{
        S_DRVPWM_TIME_DATA_T sPt;
        ////STR_PDMA_T sPDMA;
        
        uint8_t u8Timer;
      
        int32_t i32TestLoop = 1;
         uint8_t u8ItemOK;
        /* Enable PWM clock */
        PWM_Init(0);
      
        /* Set PWM pins */
        GCR->PA_H_MFP = (GCR->PA_H_MFP & ~(PA12_MFP_MASK | PA13_MFP_MASK | PA15_MFP_MASK)) |
      PA12_MFP_PWM0_CH0 | PA13_MFP_PWM0_CH1 | PA15_MFP_PWM0_CH3;
      GCR->PB_H_MFP = (GCR->PB_H_MFP & ~PB11_MFP_MASK) | PB11_MFP_PWM1_CH0;
       GCR->PE_L_MFP = (GCR->PE_L_MFP & ~PE0_MFP_MASK) | PE0_MFP_PWM1_CH2;
  

       while (i32TestLoop)
             {
                 u8ItemOK = 1;
                 g_u16Frequency = 100;
                if (i32TestLoop && u8ItemOK)
                 {
                 g_u32Pulse = 0;
                 g_u8PWMCount = 1;
                 /* PWM Timer property */
                 /*
                  * clock = 12MHz / 2 = 6Mhz.
                  * CN = clock / freq - 1
                  */
                 sPt.u8Mode = PWM_CTL_CHMOD_AUTO_RELOAD;
                 sPt.u8PreScale = 1;  // actually 1 + 1
                 sPt.u8Div = PWM_CLKSEL_CLKSEL_DIV1;
                 sPt.u32Cn = 6000000 / g_u16Frequency - 1;
                 sPt.u16Cm = sPt.u32Cn / 2;    // 50% duty ratio
                 sPt.u8Inv = 0;   // Disable inverter
                 u8Timer = 0;

                 /* Set PWM Timer0 Configuration */
                 PWM_SetClk(u8Timer, &sPt);
                 /* Enable Output for PWM Timer0 */
                 PWM_ConfigOutput(u8Timer, 1);
                 /* Enable Interrupt Sources of PWM Timer0 and install call back function */
                 //// PWM_EnableInt(u8Timer);
                 /* Enable the PWM Timer 0 */
                 PWM_Enable(u8Timer);
                 while (g_u8PWMCount);
                  while(1);
                            }
                        }
                     
                }
               

VID_20130902_092700.zip

2.65 MB, 下载次数: 61

奔跑的牛 发表于 2013-9-2 12:00 | 显示全部楼层
你说的 抖动是指?波形图贴个看看
 楼主| yytpy2008 发表于 2013-9-2 14:13 | 显示全部楼层
附件里面是压缩包,里面有视频。请解压之后观看。
i2121 发表于 2013-9-2 20:14 | 显示全部楼层
用他们BSP里面 样例代码测呗 。 应该是你寄存器设置问题
缥缈九哥 发表于 2013-9-3 10:04 | 显示全部楼层
不知道 抖动是什么意思。
从小木丁丁 发表于 2013-12-24 15:56 | 显示全部楼层
怎么个抖动法,波形抖动还是什么抖动?
mintspring 发表于 2015-2-28 15:41 来自手机 | 显示全部楼层
抖动是需要外部电路滤波吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

75

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部
0