添加PAN159资料
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
/*******************************************************************************
|
||||
* @note Copyright (C) 2017 Shanghai Panchip Microelectronics Co., Ltd.
|
||||
* All rights reserved.
|
||||
*
|
||||
* @file lib_driver_timer_pan159.c
|
||||
* @brief 定时器
|
||||
*
|
||||
* @history - V1.0, 2017-11-16, xiaoguolin, first implementation.
|
||||
*******************************************************************************/
|
||||
#include "lib_driver_timer_pan159.h"
|
||||
|
||||
static void (*__s_lib_driver_timer_pan159_irq_handler)(void) = NULL;
|
||||
static void (*__s_lib_driver_timer1_pan159_irq_handler)(void) = NULL;
|
||||
/*******************************************************************************
|
||||
* @brief 定时器0初始化
|
||||
* @param[in] 无
|
||||
* @param[out] 无
|
||||
* @return 无
|
||||
* @history - V1.0, 2017-03-07, xiaoguolin, first implementation.
|
||||
******************************************************************************/
|
||||
void timer_pan159_init(uint32_t freq, void(*irq_handler)(void))
|
||||
{
|
||||
CLK_EnableModuleClock(TMR0_MODULE);
|
||||
TIMER_Open(TIMER0, TIMER_PERIODIC_MODE, freq);
|
||||
// Enable timer interrupt
|
||||
if(irq_handler){
|
||||
TIMER_EnableInt(TIMER0);
|
||||
NVIC_EnableIRQ(TMR0_IRQn);
|
||||
NVIC_SetPriority(TMR0_IRQn,2);
|
||||
}
|
||||
__s_lib_driver_timer_pan159_irq_handler = irq_handler;
|
||||
// Start Timer 0.
|
||||
TIMER_Start(TIMER0);
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* @brief 定时器0中断处理函数
|
||||
* @param[in] 无
|
||||
* @param[out] 无
|
||||
* @return 无
|
||||
* @history - V1.0, 2017-03-07, xiaoguolin, first implementation.
|
||||
******************************************************************************/
|
||||
void TMR0_IRQHandler(void)
|
||||
{
|
||||
TIMER_ClearIntFlag(TIMER0);
|
||||
if(__s_lib_driver_timer_pan159_irq_handler){
|
||||
__s_lib_driver_timer_pan159_irq_handler();
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* @brief 定时�1初始化
|
||||
* @param[in] 无
|
||||
* @param[out] 无
|
||||
* @return 无
|
||||
* @history - V1.0, 2018-01-19, huoweibin, first implementation.
|
||||
******************************************************************************/
|
||||
void timer1_pan159_init(uint32_t freq, void(*irq_handler)(void))
|
||||
{
|
||||
CLK_EnableModuleClock(TMR1_MODULE);
|
||||
TIMER_Open(TIMER1, TIMER_PERIODIC_MODE, freq);
|
||||
// Enable timer interrupt
|
||||
if(irq_handler){
|
||||
TIMER_EnableInt(TIMER1);
|
||||
NVIC_EnableIRQ(TMR1_IRQn);
|
||||
NVIC_SetPriority(TMR1_IRQn,2);
|
||||
}
|
||||
__s_lib_driver_timer1_pan159_irq_handler = irq_handler;
|
||||
// Start Timer 0.
|
||||
TIMER_Start(TIMER1);
|
||||
}
|
||||
/*******************************************************************************
|
||||
* @brief 定时器1中断处理函数
|
||||
* @param[in] 无
|
||||
* @param[out] 无
|
||||
* @return 无
|
||||
* @history - V1.0, 2018-01-19, huoweibin, first implementation.
|
||||
******************************************************************************/
|
||||
void TMR1_IRQHandler(void)
|
||||
{
|
||||
TIMER_ClearIntFlag(TIMER1);
|
||||
if(__s_lib_driver_timer1_pan159_irq_handler){
|
||||
__s_lib_driver_timer1_pan159_irq_handler();
|
||||
}
|
||||
}
|
||||
|
||||
void DrvTimer0_SetTimer(uint32_t usec)
|
||||
{
|
||||
TIMER_Close(TIMER0);
|
||||
TIMER_Open(TIMER0, TIMER_PERIODIC_MODE, usec);
|
||||
TIMER_EnableInt(TIMER0);
|
||||
//NVIC_EnableIRQ(TMR0_IRQn);
|
||||
//NVIC_SetPriority(TMR0_IRQn,2);
|
||||
TIMER_Start(TIMER0);
|
||||
}
|
||||
|
||||
void DrvTimer1_SetTimer(uint32_t usec)
|
||||
{
|
||||
TIMER_Close(TIMER1);
|
||||
TIMER_Open(TIMER1, TIMER_PERIODIC_MODE, usec);
|
||||
TIMER_EnableInt(TIMER1);
|
||||
//NVIC_EnableIRQ(TMR1_IRQn);
|
||||
//NVIC_SetPriority(TMR1_IRQn,2);
|
||||
TIMER_Start(TIMER1);
|
||||
}
|
||||
Reference in New Issue
Block a user