金牌会员
- 积分
- 1536
- 威望
- 706
- 贡献
- 188
- 兑换币
- 28
- 注册时间
- 2010-3-14
- 在线时间
- 321 小时
|
1贡献
我在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 不知道有什么用,请指教,谢谢 |
|