智能车制作

标题: 编码器程序脉冲计数为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