2# strongchen
版主,求救一下。
我有三路占空比要测,频率分别为200Hz,2200Hz,1100Hz。
因为周期固定且相当精确,只要测高电平时间,即可测出占空比。
我现在是开三路中断:
中断服务程序内容大致如下:
if(PORTT==1) //进入中断后判断端口是否高电平
a=TCNT; //如果是,记录TCNT的值到a
else //如果端口低电平,计算高电平时间
{
if(TCNT>a) //判断TCNT是否溢出
H_level=TCNT-a; //未溢出,直接做减法
else
H_level=65535+TCNT-a; //溢出,+65535再做减法
}
这个程序,单独开一个通道的中断,能完美的测出占空比,开两个以上通道中断,占空比也可以准确测出,但是中间会有不间断的跳变,示波器观察,不停的闪.以测得的占空比驱动电机,电机会时不时颤动.但是单独开一路完全正常.
求解!! |