现在利用CC430F5137的TA1 CCR0进行捕获脉冲个数据与脉冲占比,
其中配置代码如下:
P2SEL|=BIT1; //P2.1 timerA1捕获输入口P2DIR&=0xfd; //输入方向
TA1CTL=TASSEL_2+ID__8+MC_2+TACLR; //选择子系统时钟SMCLK / 增计数模式
TA1CCTL0=CM_3+CCIS_0+SCS+CAP+CCIE; //TA1 CCR0捕获功能 同步捕获 上升,下降沿均捕获 TA1比较捕
获中断允许
中断服务代码如下:
#pragma vector=TIMER1_A0_VECTOR
__interrupt void TIMER1_A0_ISR(void)
{
cnt++;
}
发一个128个脉冲的数据,结果得到的计数cnt小于128,并且每次值都不一样,我是采用上升,下降沿均捕获,应该正常来说能捕到cnt=255。
请求技术支持
Wellin Zhang:
E_tang,
请问您输入的脉冲信号频率是多少,占空比是多少?SMCLK的频率是多少?
请尝试以下几种方法:
占空比设置为50%。
降低脉冲频率。
采用一种边沿计数。
e_tang lin:
回复 Wellin Zhang:
谢谢,问题在4月20日解决,由于时间的关系一直没有回复,后面经查是电源不稳造成的。