智能车制作

标题: 请问版主,TBDML 调试 开 EnableInterrupts就跑飞了 [打印本页]

作者: trudy    时间: 2012-3-28 15:55
标题: 请问版主,TBDML 调试 开 EnableInterrupts就跑飞了


       这是怎么回事了?
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
#pragma LINK_INFO DERIVATIVE "mc9s12xs128"


void CLKinit(void)     //64M
{  
    CLKSEL=0X00;      // clock select register
                      // 0 0 0 0 0 0 0 0
                      // aboat clkset_pllset
                      // 0 System clocks are derived from OSCCLK (fBUS = fOSC / 2).
                      //  1 System clocks are derived from PLLCLK (fBUS = fPLL / 2).
        
   
   
    PLLCTL_PLLON=1;     //IPLL Control Register   0 IPLL is turned off.  1 IPLL is on
    SYNR =0xc0 | 0x07;   // 1100 0111        Synthesizer Register   合成
                        // 7    8              5 4 3 2 1 0
                        // VCOFRQ[1:0]         SYNDIV[5:0]
                        //Write: Anytime except if PLLSEL = 1
                        //Fvco=2*fosc(syndiv+1)/(REFDIV + 1)         fosc ji
                        //fpll=fvco/(2*POSTDIV)
                        //fBUS=fPLL/2
   
                           
    REFDV=0xc0 | 0x01;       //  Reference Divider Register
                             //  REFDIV=1                          
                             //  fvoc=128M
                             //  fpll=128M
                             //  fbus=64M
    POSTDIV=0x00;            //  Post Divider Register  
    _asm(nop);         
    _asm(nop);
    _asm(nop);
    _asm(nop);
    while(!(CRGFLG_LOCK==1));   //Flags Register
                                //0 VCOCLK is not within the desired tolerance of the target frequency.
                                //1 VCOCLK is within the desired tolerance of the target frequency.
    CLKSEL_PLLSEL =1;                    
}

void PITinit(void)
{
      PITCFLMT_PITE=0;       //PIT(Periodic Interrupt Timer) Control and Force Load Micro Timer Register
                             //PIT Module Enable Bit
                                         
      PITCE_PCE0=1;          //PIT Channel Enable Register    1 The corresponding PIT channel is enabled.
      
                    
      PITLD0=60000;           //PIT Load Register
                  
      PITMTLD0=200;            //0000 0101  PIT Micro Timer Load Register
                  
      PITMUX=0X00;           // PIT Multiplex Register      The corresponding 16-bit timer counts with micro time base 0.
                  
      PITINTE_PINTE0=1;       // PIT Interrupt Enable Register
     
                  
                  
      PITCFLMT_PITE=1;        //Control and Force Load Micro Timer Register
   //   PITCFLMT_PFLMT=3;
         
}
void SCIinit()
{
  
    SCI0BDH=0x01;
    SCI0BDL=0xa0;  //SCI Baud Rate Bits     SCI bus clock=64M    baud rate=9600  
                  
    SCI0CR2=0X0C; // SCI Control Register 2   
                  // Transmitter Enable    Receiver Enable      
}

void SCI_Transmit(byte data)
{
    while(!SCI0SR1_TDRE);//SCI Status Register 1   Transmit Data Register Empty Flag   
                        //Byte transferred to transmit shift register; transmit data register empty
                        
    SCI0DRL=data;
}
   
void SCI_Receive(byte *data)
{
    while(!SCI0SR1_RDRF);//SCI Status Register 1    Receive Data Register Full Flag
                         //Received data available in SCI data register
                     
    *data=SCI0DRL;
   
}


void main(void)
{
  DisableInterrupts;
  PITinit();
  SCIinit();
  CLKinit();
EnableInterrupts;
  for(;;)
  {
  
        SCI_Transmit(1);   
         
  }
  
}

#pragma CODE_SEG NON_BANKED


void interrupt 66 PIT0Interrupt(void)
{
   
   
    PITTF_PTF0=1;
    SCI_Transmit(1);  
   
}     
#pragma CODE_SEG DEFAULT


程序总是跑飞,进不了中断!
可是full 调试就好使!

作者: trudy    时间: 2012-3-28 15:56
自己顶一个!在线求救!
作者: xiaoxi1234    时间: 2013-1-14 21:29
同求
作者: manbusongbo    时间: 2016-4-21 20:17
怎么解决的啊
作者: manbusongbo    时间: 2016-4-21 20:17
xiaoxi1234 发表于 2013-1-14 21:29
同求

请问,解决了吗?




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