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

关于CC2530定时器1的使用咨询

你好,基于zstack3.0.2,用2530定时器1的通道4去捕获P0.6口输入的波形的脉宽

请帮忙分析一下下面的代码实现是否有问题?待捕获脉冲的最小宽度为10us左右的方波,

我测试了一下的代码,有的时候捕获的不对,脉宽应该是10us左右,有的时候捕获成了三四十这样?

我怀疑是不是那里没配置好?还是T1CC4H和T1CC4L的读取方法不对?

void Init_T1_IN(void)
{
PERCFG |= (1<<6);//采用备用位置2
P0SEL |= (1<<6); //P0.6作为捕获通道
P0DIR &= ~(1<<6); //输入
T1CTL |=0x09; //8分频2M,反复运行 
T1CCTL4|= 0x03; //上升下降沿捕获
T1CCTL4&=~0x04; //捕获模式
T1IF=0;
T1STAT &= ~0x10; //清除通道0中断标志
IEN1|=0X02; //使能定时器1的中断
EA =1; //EA enable
}

__interrupt void T1_IRQ(void)
{IRCON = 0;if(T1STAT & 0x10){T1STAT &= ~0x10;bufH[signle]=T1CC4H;bufL[signle]=T1CC4L;signle++;}
}

Susan Yang:

我看您之前发过相关帖子

e2echina.ti.com/…/184183

现在是能够成功捕获但是捕获不正确?边沿捕获?

user5367314:

回复 Susan Yang:

现在是捕获有的时候不正确,双边沿捕获(上升沿和下降沿都捕获,取时间差),
是不是配置的寄存器有问题?还是10us的宽度对于2530来说很难捕获到?帮忙看一下代码

Susan Yang:

回复 user5367314:

The channel input pin is synchronized to the internal system clock. Thus, pulses on the input pin must have a minimum duration greater than the system clock period.

输入引脚上的脉冲最小持续时间必须大于系统时钟周期。

感觉代码没什么问题。您也可以参考下面帖子的方法

e2e.ti.com/…/491485

赞(0)
未经允许不得转载:TI中文支持网 » 关于CC2530定时器1的使用咨询
分享到: 更多 (0)