⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ma_tmr.c

📁 The EM6125 is a bit map controller and driver for full dot matrix
💻 C
📖 第 1 页 / 共 2 页
字号:
    T1MR0    = MA_T1MR0_TIMER;
    T1MR1    = MA_T1MR1_TIMER;
    T1MR2    = MA_T1MR2_TIMER;
    T1MR3    = MA_T1MR3_TIMER;
    T1EMR    = ( T1EMR & ~MA_T1EMR_TIMER_MASK ) | MA_T1EMR_TIMER;

    /*--- Handle user code on function exit ---*/
    EXIT_MA_RESET_TIMER;
       
} /* MA_Reset_TIMER */





S8 MA_Start_TIMER( U8 Channel, U8 Reset ) 
/*
**---------------------------------------------------------------------------
**
**  Abstract:
**      Starts the selected timer channel. Optionally, the timer counter 
**      can be cleared before the timer is started.
**
**  Parameters:
**      Channel     The timer channel to start (0-1)
**      Reset       0 = Do not reset timer before start
**                  1 = Reset timer value before start
**
**  Returns:
**      MA_ERROR    If illegal channel number was given
**      MA_OK       Otherwise 
**
**---------------------------------------------------------------------------
*/
{
    /*--- Handle user code on function entry ---*/
    ENTER_MA_START_TIMER;
    
    /*--- Handle correct channel ---*/
    switch( Channel )
    {
    case 0:
      {
        /*--- Reset timer first? ---*/
        if( Reset )
        {
            T0TCR_bit.CR = 1;        /* Reset */
            T0TCR_bit.CR = 0;        /* Release Reset */          
        }

        /*--- Start channel 0 ---*/
        T0TCR_bit.CE = 1;        
           
        break;
      }

    case 1:
      {
        /*--- Reset timer first? ---*/
        if( Reset )
        {
            T1TCR_bit.CR = 1;        /* Reset */
            T1TCR_bit.CR = 0;        /* Release Reset */    
        }

        /*--- Start channel 1 ---*/
        T1TCR_bit.CE = 1;       

        break;
      }
         
    default:
      {
         /*--- Handle user code on function exit ---*/
         EXIT_MA_START_TIMER;
         
         /*--- Illegal channel ---*/
         return MA_ERROR;
      }    
    }
       
    /*--- Handle user code on function exit ---*/
    EXIT_MA_START_TIMER;
    
    return MA_OK;
    
} /* MA_Start_TIMER */





S8 MA_Stop_TIMER( U8 Channel ) 
/*
**---------------------------------------------------------------------------
**
**  Abstract:
**      Stops the selected timer channel.
**
**  Parameters:
**      Channel     The timer channel to stop (0-1)
**
**  Returns:
**      MA_ERROR    If illegal channel number was given
**      MA_OK       Otherwise 
**
**---------------------------------------------------------------------------
*/
{
    /*--- Handle user code on function entry ---*/
    ENTER_MA_STOP_TIMER;
    
    /*--- Handle correct channel ---*/
    switch( Channel )
    {
    case 0:
      {
        /*--- Stop channel 0 ---*/
        T0TCR_bit.CE = 0;        
        break;
      }
      
    case 1:
      {
        /*--- Stop channel 1 ---*/
        T1TCR_bit.CE = 0;        
        break;
      }
        
    default:
      {
        /*--- Handle user code on function exit ---*/
        EXIT_MA_STOP_TIMER;

        /*--- Illegal channel ---*/
        return MA_ERROR;
      }
    }   
   
    /*--- Handle user code on function exit ---*/
    EXIT_MA_STOP_TIMER;
    
    return MA_OK;
    
} /* MA_Stop_TIMER */





U32 MA_Read_TIMER( U8 Channel ) 
/*
**---------------------------------------------------------------------------
**
**  Abstract:
**      Read the selected timer channel.
**
**  Parameters:
**      Channel     The timer channel to read (0-1)
**
**  Returns:
**      U32         Timer counter value.
**
**---------------------------------------------------------------------------
*/
{
    U32 Count_Temp = 0;
    
    /*--- Handle user code on function entry ---*/
    ENTER_MA_READ_TIMER;
    
    /*--- Handle correct channel ---*/
    switch( Channel )
    {
    case 0:
      {
          Count_Temp = T0TC;           
          break;
      }
      
    case 1:
      {        
          Count_Temp = T1TC;           
          break;
      }   
      
    default:
      {
          /*--- Illegal channel ---*/
          ;
      }
    }    
       
    /*--- Handle user code on function exit ---*/
    EXIT_MA_READ_TIMER;
    
    return Count_Temp;
    
} /* MA_Read_TIMER */







void MA_IntHandler_TIMER1( void ) 
/*
**---------------------------------------------------------------------------
**
**  Abstract:
**      This function is the high level language interrupt handler for the
**      timer 1 interrupts. 
**
**  Parameters:
**      None
**
**  Returns:
**      None
**
**---------------------------------------------------------------------------
*/
{
    U32 IntSrc;

    /*--- Handle user code on function entry ---*/
    ENTER_MA_INTHANDLER_TIMER1;

    IntSrc = T1IR;

    if ( IntSrc & T1IR_CR1INT )
    {
        INSIDE_MA_INTHANDLER_TIMER1_CR1;
        
        /*--- Clear interrupt flag ---*/
        T1IR_bit.CR1INT = 1;            
    }
    
    /*--- Handle user code on function exit ---*/
    EXIT_MA_INTHANDLER_TIMER1;
 
} /* MA_IntHandler_TIMER1 */




/*
**===========================================================================
**  5.      INTERNAL FUNCTIONS (declared in Section 3.5)
**===========================================================================
*/

/*
**===========================================================================
** END OF FILE
**===========================================================================
*/ 



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -