diff options
Diffstat (limited to 'at91lib/peripherals/tc')
| -rw-r--r-- | at91lib/peripherals/tc/tc.h | 74 | 
1 files changed, 74 insertions, 0 deletions
diff --git a/at91lib/peripherals/tc/tc.h b/at91lib/peripherals/tc/tc.h new file mode 100644 index 0000000..8bf96e5 --- /dev/null +++ b/at91lib/peripherals/tc/tc.h @@ -0,0 +1,74 @@ +/* ----------------------------------------------------------------------------
 + *         ATMEL Microcontroller Software Support 
 + * ----------------------------------------------------------------------------
 + * Copyright (c) 2008, Atmel Corporation
 + *
 + * All rights reserved.
 + *
 + * Redistribution and use in source and binary forms, with or without
 + * modification, are permitted provided that the following conditions are met:
 + *
 + * - Redistributions of source code must retain the above copyright notice,
 + * this list of conditions and the disclaimer below.
 + *
 + * Atmel's name may not be used to endorse or promote products derived from
 + * this software without specific prior written permission.
 + *
 + * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
 + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
 + * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
 + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
 + * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 + * ----------------------------------------------------------------------------
 + */
 +
 +//------------------------------------------------------------------------------
 +/// \unit
 +///
 +/// !Purpose
 +///
 +/// API for configuring and using Timer Counter (TC) peripherals.
 +///
 +/// !Usage
 +/// -# Optionally, use TC_FindMckDivisor() to let the program find the best
 +///    TCCLKS field value automatically.
 +/// -# Configure a Timer Counter in the desired mode using TC_Configure().
 +/// -# Start or stop the timer clock using TC_Start() and TC_Stop().
 +//------------------------------------------------------------------------------
 +
 +#ifndef TC_H
 +#define TC_H
 +
 +//------------------------------------------------------------------------------
 +//         Headers
 +//------------------------------------------------------------------------------
 +
 +#include <board.h>
 +
 +#if !defined(AT91C_ID_TC0) && defined(AT91C_ID_TC012)
 +    #define AT91C_ID_TC0 AT91C_ID_TC012
 +#endif
 +
 +//------------------------------------------------------------------------------
 +//         Global functions
 +//------------------------------------------------------------------------------
 +
 +extern void TC_Configure(AT91S_TC *pTc, unsigned int mode);
 +
 +extern void TC_Start(AT91S_TC *pTc);
 +
 +extern void TC_Stop(AT91S_TC *pTc);
 +
 +extern unsigned char TC_FindMckDivisor(
 +    unsigned int freq,
 +    unsigned int mck,
 +    unsigned int *div,
 +    unsigned int *tcclks);
 +
 +#endif //#ifndef TC_H
 +
  | 
