查看: 129|回复: 0
打印 上一主题 下一主题

求解释,MSP430定时器死区模式程序不懂

[复制链接] qrcode

32

主题

33

帖子

101

积分

注册会员

Rank: 2

积分
101
楼主
跳转到指定楼层
发表于 2015-10-17 07:17 PM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

如图红色部分的条件语句中的表达式不明白,还请高手指点

switch(Mod)                                                                                                                //根据模式设定TACCRx

                {
        case 2: case 6:                        /**死区模式2,6时,需要判断修正死区时间,且同时设定TA0CCR1/2 的值*/
                {
                        if((1000-2*Percent)<=DeadPermill)                        //为何这样计算?
                                Percent=(1000-DeadPermill)/2;              //?
                        TA0CCR1=Percent*TA0CCR0/1000;              //??
                        TA0CCR2= TA0CCR0-TA0CCR1;                     //这是什么意思?为什么这么运算?
                        break;
                }
                case 7:
                {
                        if(Percent>1000)        Percent=1000;
                        if(Channel==1) TA0CCR1=Percent* TA0CCR0/1000;
                        if(Channel==2) TA0CCR2=Percent* TA0CCR0/1000;
                        break;
                }
                case 3:                //占空比一律为正脉宽,所以需要 TA0CCR0减去占空比
                {
                        if(Percent>1000)        Percent=1000;
                        if(Channel==1) TA0CCR1= TA0CCR0-Percent*TA0CCR0/1000;
                        if(Channel==2) TA0CCR2= TA0CCR0-Percent*TA0CCR0/1000;
                        break;
                }
                default: return(0);
                }
                return (1);
        }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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