智能车制作

标题: 求帮忙看下这个编码器程序,,怎么最后计数值一直为0,不出数据啊 [打印本页]

作者: 小盐巴    时间: 2013-1-12 12:52
标题: 求帮忙看下这个编码器程序,,怎么最后计数值一直为0,不出数据啊
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */



#define  BUS_CLOCK                   32000000           //总线频率
#define  OSC_CLOCK                   16000000           //晶振频率
unsigned int jishu;

void INIT_PLL(void)
{
    CLKSEL &= 0x7f;       //set OSCCLK as sysclk
    PLLCTL &= 0x8F;       //Disable PLL circuit
    CRGINT &= 0xDF;
   
    #if(BUS_CLOCK == 40000000)
      SYNR = 0x44;
    #elif(BUS_CLOCK == 32000000)
      SYNR = 0x43;     
    #elif(BUS_CLOCK == 24000000)
      SYNR = 0x42;
    #endif

    REFDV = 0x81;         //PLLCLK=2×OSCCLK×(SYNR+1)/(REFDV+1)=64MHz ,fbus=32M
    PLLCTL =PLLCTL|0x70;  //Enable PLL circuit
    asm NOP;
    asm NOP;
    while(!(CRGFLG&0x08)); //PLLCLK is Locked already
    CLKSEL |= 0x80;        //set PLLCLK as sysclk
}

/*************************************************************/
/*                     PIT模块初始化函数                     */
/*************************************************************/
void init_PIT(){

PITMTLD0=249;     //为0通道8位计数器赋值
PITLD0=63999;     //为0通道16位计数器赋值   //(249+1)*(63999+1)=16000000个总线周期=0.5秒
PITMUX_PMUX0=0;   //第0通道使用微计数器0
PITCE_PCE0=1;     //第0通道计数器工作
PITCFLMT=0X80;    //使能周期中断定时器
PITINTE_PINTE0=1; //0通道定时器定时中断被使能
}

#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt void PIT_INTER(void)
{
    if(PITTF_PTF0==1) {
      
      PITTF_PTF0=1;
      jishu=PACNT;
      PACNT=0;            
      
    }
  
}
#pragma CODE_SEG DEFAULT


     
void main(void)
{  
   DisableInterrupts;
   INIT_PLL();
   init_PIT();
   EnableInterrupts;
   while(1);
   
}

这是后面的PIT重断的向量地址VECTOR ADDRESS 0xFF7A PIT_INTER

编码器的正极和信号端我接了上拉电阻,刷新我设的1,但是一直不出数据,计数一直为0,
请帮忙看下是哪儿的问题
作者: tearedice    时间: 2013-1-12 13:30
先接示波器,转动编码器看编码器有无正常输出
作者: 小盐巴    时间: 2013-1-18 11:05
前段时间有事,搁了这么久。。。实验室今天还停电了
---------------------------------------------割一下,原来是少写了一点东西,补上这个就行了
void pac_init(void)

{
  PACTL=0x40;
  PACNT=0x00;
}
希望对大家有些帮助




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2