智能车制作
标题:
编码器程序脉冲计数为0
[打印本页]
作者:
deng0620
时间:
2010-4-12 17:07
标题:
编码器程序脉冲计数为0
在用编码器测速时,用的是PT7口的脉冲累加器A,用串口将脉冲累加数pulse_cnt显示出来,但却一直为0,不知道原因,特把程序发上来,望高手指教、、、
#define BUS_FREQ 32000000 // 总线频率超频至32 MHz
#define TIM_FREE_CLK (BUS_FREQ / 128)
#define TIM_INT_PER_SEC 25 // 每秒中断次数
#define TIM_CHANNEL_CNTS (TIM_FREE_CLK / TIM_INT_PER_SEC)
unsigned int pulse_cnt;
void PACN_init(void)
{
PACTL_PAEN = 0;
PACN32 = 0x0000; //脉冲累加器A寄存器清零
PACTL_PAMOD = 0;
PACTL_PEDGE = 1; //上升沿
PACTL_PAEN = 1; //使能脉冲累加器A
}
void Time_init(void)
{
TSCR1 = 0x90; //使能定时器
TSCR2 |= 0x07; //预分频系数为128
TIOS |= 0x01; //第一通道做输出比较
TC0 = (int)(TCNT + TIM_CHANNEL_CNTS);
TCTL1 |= 0x01;
TIE |= 0x01;
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 8 TIM(void)
{
TC0 = (int)(TCNT + TIM_CHANNEL_CNTS);
pulse_cnt = PACN32;
PACN32 = 0;
}
#pragma CODE_SEG DEFAULT
作者:
chenrunshe_007
时间:
2010-4-12 17:22
唉,又一个没有看版规的同学,代码应该发在代码板块,发在这里没有什么人回答的。
作者:
霜~哀伤
时间:
2010-4-12 17:27
快换地方吧,我也想学习下寄存器A,这边没资料。
作者:
deng0620
时间:
2010-4-12 17:37
行,马上换
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2