智能车制作
标题:
关于脉冲计数的,有几个问题想请教大家
[打印本页]
作者:
pang123hui
时间:
2010-5-3 15:23
标题:
关于脉冲计数的,有几个问题想请教大家
我在xs128中,对脉冲计数是这样初始化的
void TIM_Init(void)//初始化脉冲累加器A
{
PACTL=0X50;//PT7 PIN,PACN32 16BIT,FALLing edge,NOT INTERRUPT
PACNT = 0x00; //累加器置初值
TCTL3=0xc0;//c-输入捕捉7任何沿有效,
TCTL4=0xc0;//40表示ICx禁止, 1表示上升沿, 2表示下降沿, 3表示任何沿
TIE =0x00;//每一位对应相应通道中断允许,0表示禁止中断
TIOS =0x00;//每一位对应通道的: 0输入捕捉,1输出比较
TCTL3_EDG7x=1;//c-输入捕捉7任何沿有效,
}
复制代码
而有些人说只要
PACTL=0X50;//PT7 PIN,PACN32 16BIT,FALLing edge,NOT INTERRUPT
PACNT = 0x00; //累加器置初值
复制代码
这样就可以了,不需要再设置输入捕捉相关寄存器
请问那种正确呢??
还有一个问题:
//PAFLG_PAOVF=1;
//PAFLG_PAIF =1;
第一个应该是脉冲累加计数溢出标志位吧
也就是初始化时置位,而在PIT定时中断读取脉冲数时,先检查该位是否为1,这样使用对吗?
还有第二个PAFLG_PAIF 不知道有什么用,请指教,谢谢
作者:
lim1t
时间:
2010-5-3 15:48
用第二种就行了,可以把读PACNT的指令放在PIT中断里。
就不用它本身的累加记数了,原则上是中断越少越好。
作者:
王怀玉
时间:
2010-5-3 17:40
回复
1#
pang123hui
第二种就行啊
那两个标志位最好在初始化的时候写1清零
作者:
pang123hui
时间:
2010-5-3 21:27
顶一下
作者:
stl
时间:
2010-5-4 11:20
我也顶一下
作者:
向往智能
时间:
2010-5-4 23:29
不懂
作者:
fukai555
时间:
2010-5-8 15:41
下面一种正确
作者:
草原
时间:
2010-5-8 18:12
TCTL4=0xc0,这句话可以去掉,与PA累加器设置没有联系的
作者:
youz
时间:
2010-6-9 11:59
mark
作者:
程辉程辉
时间:
2010-8-14 16:39
第二种好啊
作者:
一剑卡卡
时间:
2011-4-12 12:16
实践证明,第二个是对的!!!!
作者:
Jarylove
时间:
2011-4-20 22:12
路过
作者:
chengqing
时间:
2011-4-22 17:06
作者:
诗雨依然
时间:
2011-4-23 16:38
作者:
gaowenzhao123
时间:
2011-10-11 20:00
顶一下
作者:
与人狼
时间:
2012-4-3 09:27
作者:
oooooo
时间:
2012-4-24 14:00
budong
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2