SAM4SD32 (SAM4S-EK2)
Loading...
Searching...
No Matches
tc.c File Reference

SAM Timer Counter (TC) driver. More...

#include <assert.h>
#include "tc.h"

Go to the source code of this file.

Macros

#define TC_DIV_FACTOR   65536
#define TC_WPMR_WPKEY_PASSWD   TC_WPMR_WPKEY((uint32_t)0x54494D)

Functions

void tc_disable_interrupt (Tc *p_tc, uint32_t ul_channel, uint32_t ul_sources)
 Disable TC interrupts on the specified channel.
void tc_disable_qdec_interrupt (Tc *p_tc, uint32_t ul_sources)
 Disable TC QDEC interrupts.
void tc_enable_interrupt (Tc *p_tc, uint32_t ul_channel, uint32_t ul_sources)
 Enable the TC interrupts on the specified channel.
void tc_enable_qdec_interrupt (Tc *p_tc, uint32_t ul_sources)
 Enable TC QDEC interrupts.
uint32_t tc_find_mck_divisor (uint32_t ul_freq, uint32_t ul_mck, uint32_t *p_uldiv, uint32_t *p_ultcclks, uint32_t ul_boardmck)
 Find the best PBA/MCK divisor.
uint32_t tc_get_feature (Tc *p_tc)
 Indicate TC features.
uint32_t tc_get_interrupt_mask (Tc *p_tc, uint32_t ul_channel)
 Read the TC interrupt mask for the specified channel.
uint32_t tc_get_qdec_interrupt_mask (Tc *p_tc)
 Read TC QDEC interrupt mask.
uint32_t tc_get_qdec_interrupt_status (Tc *p_tc)
 Get current TC QDEC interrupt status.
uint32_t tc_get_status (Tc *p_tc, uint32_t ul_channel)
 Get the current status for the specified TC channel.
uint32_t tc_get_version (Tc *p_tc)
 Indicate TC version.
void tc_init (Tc *p_tc, uint32_t ul_channel, uint32_t ul_mode)
 Configure TC for timer, waveform generation, or capture.
uint32_t tc_init_2bit_gray (Tc *p_tc, uint32_t ul_channel, uint32_t ul_steppermode)
 Configure TC for 2-bit Gray Counter for Stepper Motor.
uint32_t tc_read_cv (Tc *p_tc, uint32_t ul_channel)
 Read the counter value on the specified channel.
uint32_t tc_read_ra (Tc *p_tc, uint32_t ul_channel)
 Read TC Register A (RA) on the specified channel.
uint32_t tc_read_rb (Tc *p_tc, uint32_t ul_channel)
 Read TC Register B (RB) on the specified channel.
uint32_t tc_read_rc (Tc *p_tc, uint32_t ul_channel)
 Read TC Register C (RC) on the specified channel.
void tc_set_block_mode (Tc *p_tc, uint32_t ul_blockmode)
 Configure the TC Block mode.
void tc_set_writeprotect (Tc *p_tc, uint32_t ul_enable)
 Enable or disable write protection of TC registers.
void tc_start (Tc *p_tc, uint32_t ul_channel)
 Start the TC clock on the specified channel.
void tc_stop (Tc *p_tc, uint32_t ul_channel)
 Stop the TC clock on the specified channel.
void tc_sync_trigger (Tc *p_tc)
 Asserts a SYNC signal to generate a software trigger on all channels.
void tc_write_ra (Tc *p_tc, uint32_t ul_channel, uint32_t ul_value)
 Write to TC Register A (RA) on the specified channel.
void tc_write_rb (Tc *p_tc, uint32_t ul_channel, uint32_t ul_value)
 Write to TC Register B (RB) on the specified channel.
void tc_write_rc (Tc *p_tc, uint32_t ul_channel, uint32_t ul_value)
 Write to TC Register C (RC) on the selected channel.

Detailed Description

SAM Timer Counter (TC) driver.

Copyright (c) 2011-2018 Microchip Technology Inc. and its subsidiaries.

\cond ASF_LICENSE

Definition in file tc.c.

Macro Definition Documentation

◆ TC_DIV_FACTOR

#define TC_DIV_FACTOR   65536

Definition at line 461 of file tc.c.

Referenced by tc_find_mck_divisor().

◆ TC_WPMR_WPKEY_PASSWD

#define TC_WPMR_WPKEY_PASSWD   TC_WPMR_WPKEY((uint32_t)0x54494D)

Definition at line 49 of file tc.c.

Referenced by tc_set_writeprotect().