Microchip® Advanced Software Framework

hw_timer.c File Reference

Copyright (c) 2014-2018 Microchip Technology Inc.

and its subsidiaries.

#include <compiler.h>
#include <parts.h>
#include "tc.h"
#include "hw_timer.h"
#include "common_hw_timer.h"
#include "conf_hw_timer.h"
#include "sysclk.h"

Functions

static void configure_NVIC (Tc *cmn_hw_timer, uint8_t cmn_hw_timer_ch)
 to enable the corresponding IRQ in NVIC and set the tme callback More...
 
void restore_cpu_interrupt (uint8_t flags)
 to restore saved interrupts status More...
 
uint8_t save_cpu_interrupt (void)
 to save current interrupt status More...
 
void TC0_Handler (void)
 Interrupt handler for TC00. More...
 
void TC1_Handler (void)
 Interrupt handler for TC01. More...
 
void TC2_Handler (void)
 Interrupt handler for TC02. More...
 
void TC3_Handler (void)
 Interrupt handlers for TC10. More...
 
void TC4_Handler (void)
 Interrupt handler for TC11. More...
 
void TC5_Handler (void)
 Interrupt handler for TC12. More...
 
static void tc_callback (void)
 callback for tmr interrupt More...
 
void tmr_disable_cc_interrupt (void)
 to disable compare interrupt More...
 
void tmr_disable_ovf_interrupt (void)
 to disable overflow interrupt More...
 
void tmr_enable_cc_interrupt (void)
 to enable compare interrupt More...
 
uint8_t tmr_init (void)
 to initialiaze hw timer More...
 
uint16_t tmr_read_count (void)
 read the actual timer count from register More...
 
void tmr_stop (void)
 to stop the running timer More...
 
void tmr_write_cmpreg (uint16_t compare_value)
 to load compare value in channel compare register More...
 

Variables

uint8_t timer_multiplier
 
tmr_callback_t tmr_callback
 

void configure_NVIC ( Tc *  cmn_hw_timer,
uint8_t  cmn_hw_timer_ch 
)
static

to enable the corresponding IRQ in NVIC and set the tme callback

References tc_callback(), and tmr_callback.

Referenced by tmr_init().

void restore_cpu_interrupt ( uint8_t  flags)

to restore saved interrupts status

Parameters
savedinterrupt status

References cpu_irq_restore().

uint8_t save_cpu_interrupt ( void  )

to save current interrupt status

References cpu_irq_save().

void TC0_Handler ( void  )

Interrupt handler for TC00.

References tmr_callback.

void TC1_Handler ( void  )

Interrupt handler for TC01.

References tmr_callback.

void TC2_Handler ( void  )

Interrupt handler for TC02.

References tmr_callback.

void TC3_Handler ( void  )

Interrupt handlers for TC10.

References tmr_callback.

void TC4_Handler ( void  )

Interrupt handler for TC11.

References tmr_callback.

void TC5_Handler ( void  )

Interrupt handler for TC12.

References tmr_callback.

void tc_callback ( void  )
static
void tmr_disable_cc_interrupt ( void  )

to disable compare interrupt

References tc_disable_interrupt(), tc_get_status(), TIMER, and TIMER_CHANNEL_ID.

Referenced by tmr_init().

void tmr_disable_ovf_interrupt ( void  )

to disable overflow interrupt

to enable overflow interrupt

References tc_disable_interrupt(), tc_get_status(), TIMER, and TIMER_CHANNEL_ID.

void tmr_enable_cc_interrupt ( void  )

to enable compare interrupt

References tc_enable_interrupt(), tc_get_status(), TIMER, and TIMER_CHANNEL_ID.

uint16_t tmr_read_count ( void  )

read the actual timer count from register

References tc_read_cv(), TIMER, and TIMER_CHANNEL_ID.

void tmr_stop ( void  )

to stop the running timer

References tc_stop(), TIMER, and TIMER_CHANNEL_ID.

void tmr_write_cmpreg ( uint16_t  compare_value)

to load compare value in channel compare register

References tc_write_ra(), tc_write_rc(), TIMER, and TIMER_CHANNEL_ID.

uint8_t timer_multiplier