查看: 2256|回复: 0

[其他] PWM输出问题

[复制链接]

该用户从未签到

40

主题

256

帖子

0

金牌会员

Rank: 6Rank: 6

积分
10386
最后登录
2023-4-17
发表于 2012-6-22 15:58:08 | 显示全部楼层 |阅读模式
要求在输出PWM波形,调整LED的渐亮。

要求在700ms内LED渐亮,功能可以实现

但是用示波器查看波形不是700ms,而是600ms.

开始,怀凝是输出700ms程序的问题,在PWM输出同时,加入一个IO输出。
结果发现这个程序没有问题,IO可以输出700ms.

后来,在发现在关闭PWM4输出通道时,发现有一个100ms多的缓慢下降的曲线。
这个没有办法解释啊!

单片机用的是S12G128;

请大家指点一下。谢谢!

void TpmPWM4config(void)
{   
    /* PWME4 = 0 */
    clrReg8Bits(PWME, 0x10);             /* Disable counter */
    /* PWMCNT4: PWMCNT4=0 */
    setReg8(PWMCNT4, 0x00U);             /* Reset Counter */
    /* PWMDTY4: PWMDTY4=0xFE */
    setReg8(PWMDTY4, 0xFFU);             /* Store initial value to the duty-compare register */
    /* PWMPER4: PWMPER4=0xFF */
    setReg8(PWMPER4, 0xFFU);             /* and to the period register */
    /* PWMPRCLK: ??=0,PCKB2=0,PCKB1=0,PCKB0=0,??=0,PCKA2=0,PCKA1=1,PCKA0=0 */
    setReg8(PWMPRCLK, 0x02U);            /* Set prescaler register */
    /* PWMSCLA: BIT7=1,BIT6=0,BIT5=1,BIT4=1,BIT3=1,BIT2=0,BIT1=1,BIT0=1 */
    setReg8(PWMSCLA, 0xBBU);             /* Set scale register */
    /* PWMCLK: PCLK4=1 */
    setReg8Bits(PWMCLK, 0x10U);          /* Select clock source */
    /* PWME: PWME4=0 */
    clrReg8Bits(PWME, 0x10);             /* Disable counter */
}


void TestPWM(void)
{
    static INT8U aCnt = SetZero;
   
    if (1 == KeyState)
    {
        DimCnt = ClrZero;
        PWME_PWME4 = 1;
        if (aCnt < 22)
        {
            aCnt++;
            PWMDTY4 -= 5;
        }
        else if (aCnt < 70)
        {
            aCnt++;
            PWMDTY4 -= 3;
        }
        else
        {        
            aCnt  = 88;
            PWMDTY4 = ClrZero;
            PWME_PWME4 = 0;
        }
     }
}

void main(void)
{
       while(1)
      {
             if (10msFlg == 1)
              {
                   10msFlg = 0;
                   TestPWM();
               }   
       }   
}
我知道答案 目前已有0人回答
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-9-13 13:33 , Processed in 0.084333 second(s), 21 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表