/* * \file stm32f10x_systick.h * \brief Provides systick timer functionality. * * Copyright (C) 2013 Houtouridis Christos * All Rights Reserved. * * NOTICE: All information contained herein is, and remains * the property of Houtouridis Christos. The intellectual * and technical concepts contained herein are proprietary to * Houtouridis Christos and are protected by copyright law. * Dissemination of this information or reproduction of this material * is strictly forbidden unless prior written permission is obtained * from Houtouridis Christos. * * Author: Houtouridis Christos * Date: 11/2013 * Version: 0.2 */ #ifndef __stm32f10x_systick_h__ #define __stm32f10x_systick_h__ #ifdef __cplusplus extern "C" { #endif #include #include #include #define ST_MAX_CRONTAB_ENTRIES (10) #ifndef __weak #define __weak __attribute__ ((weak)) #endif /* * Also defined in types.h */ #ifndef _CLOCK_T_ #define _CLOCK_T_ unsigned long /* clock() */ typedef _CLOCK_T_ clock_t; /*!< CPU time type */ #endif #ifndef _TIME_T_ #define _TIME_T_ long /* time() */ typedef _TIME_T_ time_t; /*!< date/time in unix secs past 1-Jan-70 type for 68 years*/ #endif typedef void (*cronfun_t) (void); /*!< Pointer to void function (void) to use with cron */ /*! * Cron Table data type */ typedef struct { cronfun_t fun; clock_t tic; }CronTab_t; /* ======== Core Functionalities ============ */ extern void SysTick_Callback (void); void SysTick_DeInit (void); void SysTick_Init (clock_t sf); /* ======== OS like Functionalities ============ */ clock_t get_freq (void); int set_freq (clock_t f); #ifdef __cplusplus } #endif #endif //#ifndef __stm32f10x_systick_h__