source: S-port/trunk/Drivers/CMSIS/RTOS2/Include/os_tick.h

Last change on this file was 1, checked in by AlexLir, 3 years ago
File size: 2.2 KB
RevLine 
[1]1/**************************************************************************//**
2 * @file os_tick.h
3 * @brief CMSIS OS Tick header file
4 * @version V1.0.1
5 * @date 24. November 2017
6 ******************************************************************************/
7/*
8 * Copyright (c) 2017-2017 ARM Limited. All rights reserved.
9 *
10 * SPDX-License-Identifier: Apache-2.0
11 *
12 * Licensed under the Apache License, Version 2.0 (the License); you may
13 * not use this file except in compliance with the License.
14 * You may obtain a copy of the License at
15 *
16 * www.apache.org/licenses/LICENSE-2.0
17 *
18 * Unless required by applicable law or agreed to in writing, software
19 * distributed under the License is distributed on an AS IS BASIS, WITHOUT
20 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21 * See the License for the specific language governing permissions and
22 * limitations under the License.
23 */
24
25#ifndef OS_TICK_H
26#define OS_TICK_H
27
28#include <stdint.h>
29
30/// IRQ Handler.
31#ifndef IRQHANDLER_T
32#define IRQHANDLER_T
33typedef void (*IRQHandler_t) (void);
34#endif
35
36/// Setup OS Tick timer to generate periodic RTOS Kernel Ticks
37/// \param[in] freq tick frequency in Hz
38/// \param[in] handler tick IRQ handler
39/// \return 0 on success, -1 on error.
40int32_t OS_Tick_Setup (uint32_t freq, IRQHandler_t handler);
41
42/// Enable OS Tick timer interrupt
43void OS_Tick_Enable (void);
44
45/// Disable OS Tick timer interrupt
46void OS_Tick_Disable (void);
47
48/// Acknowledge execution of OS Tick timer interrupt
49void OS_Tick_AcknowledgeIRQ (void);
50
51/// Get OS Tick timer IRQ number
52/// \return OS Tick IRQ number
53int32_t OS_Tick_GetIRQn (void);
54
55/// Get OS Tick timer clock frequency
56/// \return OS Tick timer clock frequency in Hz
57uint32_t OS_Tick_GetClock (void);
58
59/// Get OS Tick timer interval reload value
60/// \return OS Tick timer interval reload value
61uint32_t OS_Tick_GetInterval (void);
62
63/// Get OS Tick timer counter value
64/// \return OS Tick timer counter value
65uint32_t OS_Tick_GetCount (void);
66
67/// Get OS Tick timer overflow status
68/// \return OS Tick overflow status (1 - overflow, 0 - no overflow).
69uint32_t OS_Tick_GetOverflow (void);
70
71#endif /* OS_TICK_H */
Note: See TracBrowser for help on using the repository browser.