]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_M7_SAMV71_Xplained_IAR_Keil/libchip_samv7/include/tc.h
Final V8.2.1 release ready for tagging:
[freertos] / FreeRTOS / Demo / CORTEX_M7_SAMV71_Xplained_IAR_Keil / libchip_samv7 / include / tc.h
1 /* ----------------------------------------------------------------------------\r
2  *         SAM Software Package License\r
3  * ----------------------------------------------------------------------------\r
4  * Copyright (c) 2011, Atmel Corporation\r
5  *\r
6  * All rights reserved.\r
7  *\r
8  * Redistribution and use in source and binary forms, with or without\r
9  * modification, are permitted provided that the following conditions are met:\r
10  *\r
11  * - Redistributions of source code must retain the above copyright notice,\r
12  * this list of conditions and the disclaimer below.\r
13  *\r
14  * Atmel's name may not be used to endorse or promote products derived from\r
15  * this software without specific prior written permission.\r
16  *\r
17  * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR\r
18  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r
19  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE\r
20  * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,\r
21  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
22  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\r
23  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\r
24  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
25  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
26  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
27  * ----------------------------------------------------------------------------\r
28  */\r
29 \r
30 /**\r
31  *  \file\r
32  *\r
33  *  \section Purpose\r
34  *\r
35  *  Interface for configuring and using Timer Counter (TC) peripherals.\r
36  *\r
37  *  \section Usage\r
38  *  -# Optionally, use TC_FindMckDivisor() to let the program find the best\r
39  *     TCCLKS field value automatically.\r
40  *  -# Configure a Timer Counter in the desired mode using TC_Configure().\r
41  *  -# Start or stop the timer clock using TC_Start() and TC_Stop().\r
42  */\r
43 \r
44 #ifndef _TC_\r
45 #define _TC_\r
46 \r
47 /*------------------------------------------------------------------------------\r
48  *         Headers\r
49  *------------------------------------------------------------------------------*/\r
50 \r
51 #include "chip.h"\r
52 \r
53 #include <stdint.h>\r
54 \r
55 /*------------------------------------------------------------------------------\r
56  *         Global functions\r
57  *------------------------------------------------------------------------------*/\r
58 \r
59 #ifdef __cplusplus\r
60  extern "C" {\r
61 #endif\r
62 \r
63 extern void TC_Configure( Tc *pTc, uint32_t dwChannel, uint32_t dwMode ) ;\r
64 \r
65 extern void TC_Start( Tc *pTc, uint32_t dwChannel ) ;\r
66 \r
67 extern void TC_Stop( Tc *pTc, uint32_t dwChannel ) ;\r
68 \r
69 extern uint32_t TC_FindMckDivisor( uint32_t dwFreq, uint32_t dwMCk, uint32_t *dwDiv, uint32_t *dwTcClks, uint32_t dwBoardMCK ) ;\r
70 \r
71 #ifdef __cplusplus\r
72 }\r
73 #endif\r
74 \r
75 #endif /* #ifndef _TC_ */\r
76 \r