Ricardo Benitez / mbed

Fork of mbed by mbed official

Committer:
Kojto
Date:
Wed Aug 05 13:16:35 2015 +0100
Revision:
104:b9ad9a133dc7
Release 104 of the mbed library:

Changes:
- new platforms: nrf51 microbit
- MAXxxx - fix pwm array search
- LPC8xx - usart enable fix

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kojto 104:b9ad9a133dc7 1 /**
Kojto 104:b9ad9a133dc7 2 ******************************************************************************
Kojto 104:b9ad9a133dc7 3 * @file W7500x_stdPeriph_Driver/inc/W7500x_dualtimer.h
Kojto 104:b9ad9a133dc7 4 * @author IOP Team
Kojto 104:b9ad9a133dc7 5 * @version V1.0.0
Kojto 104:b9ad9a133dc7 6 * @date 01-May-2015
Kojto 104:b9ad9a133dc7 7 * @brief This file contains all the functions prototypes for the dualtimer
Kojto 104:b9ad9a133dc7 8 * firmware library.
Kojto 104:b9ad9a133dc7 9 ******************************************************************************
Kojto 104:b9ad9a133dc7 10 *
Kojto 104:b9ad9a133dc7 11 ******************************************************************************
Kojto 104:b9ad9a133dc7 12 */
Kojto 104:b9ad9a133dc7 13
Kojto 104:b9ad9a133dc7 14 /* Define to prevent recursive inclusion -------------------------------------*/
Kojto 104:b9ad9a133dc7 15 #ifndef __W7500X_DUALTIMER_H
Kojto 104:b9ad9a133dc7 16 #define __W7500X_DUALTIMER_H
Kojto 104:b9ad9a133dc7 17
Kojto 104:b9ad9a133dc7 18 #ifdef __cplusplus
Kojto 104:b9ad9a133dc7 19 extern "C" {
Kojto 104:b9ad9a133dc7 20 #endif
Kojto 104:b9ad9a133dc7 21
Kojto 104:b9ad9a133dc7 22 /* Includes ------------------------------------------------------------------*/
Kojto 104:b9ad9a133dc7 23 #include "W7500x.h"
Kojto 104:b9ad9a133dc7 24
Kojto 104:b9ad9a133dc7 25 /**********************************************************************************************/
Kojto 104:b9ad9a133dc7 26 /**********************************************************************************************/
Kojto 104:b9ad9a133dc7 27 // This structure and define must be in W7500x.h
Kojto 104:b9ad9a133dc7 28 /**********************************************************************************************/
Kojto 104:b9ad9a133dc7 29 /**********************************************************************************************/
Kojto 104:b9ad9a133dc7 30
Kojto 104:b9ad9a133dc7 31 typedef struct
Kojto 104:b9ad9a133dc7 32 {
Kojto 104:b9ad9a133dc7 33 uint32_t TimerLoad;
Kojto 104:b9ad9a133dc7 34 uint32_t TimerControl_Mode;
Kojto 104:b9ad9a133dc7 35 uint32_t TimerControl_Pre;
Kojto 104:b9ad9a133dc7 36 uint32_t TimerControl_Size;
Kojto 104:b9ad9a133dc7 37 uint32_t TimerControl_OneShot;
Kojto 104:b9ad9a133dc7 38 }DUALTIMER_InitTypDef;
Kojto 104:b9ad9a133dc7 39
Kojto 104:b9ad9a133dc7 40
Kojto 104:b9ad9a133dc7 41 #define IS_DUALTIMER_TimerMode(MODE) (MODE <= 1)
Kojto 104:b9ad9a133dc7 42 #define IS_DUALTIMER_TimerPre(PREE) (PRE <= 2)
Kojto 104:b9ad9a133dc7 43 #define IS_DUALTIMER_TimerSize(SIZE) (SIZE <= 1)
Kojto 104:b9ad9a133dc7 44 #define IS_DUALTIMER_OneShot(ONESHOT) (ONESHOT <= 1)
Kojto 104:b9ad9a133dc7 45
Kojto 104:b9ad9a133dc7 46
Kojto 104:b9ad9a133dc7 47
Kojto 104:b9ad9a133dc7 48
Kojto 104:b9ad9a133dc7 49
Kojto 104:b9ad9a133dc7 50
Kojto 104:b9ad9a133dc7 51 #define DUALTIMER_Int_Clear 0x1ul
Kojto 104:b9ad9a133dc7 52
Kojto 104:b9ad9a133dc7 53 #define DUALTIMER_Clock_Enable 0x1ul
Kojto 104:b9ad9a133dc7 54 #define DUALTIMER_Clock_Disable ~DUALTIMER_Clock_Enable
Kojto 104:b9ad9a133dc7 55
Kojto 104:b9ad9a133dc7 56
Kojto 104:b9ad9a133dc7 57 #define IS_DUALTIMER_ALL_CH(CH) ((CH == DUALTIMER0_0) || \
Kojto 104:b9ad9a133dc7 58 (CH == DUALTIMER0_1) || \
Kojto 104:b9ad9a133dc7 59 (CH == DUALTIMER1_0) || \
Kojto 104:b9ad9a133dc7 60 (CH == DUALTIMER1_1))
Kojto 104:b9ad9a133dc7 61
Kojto 104:b9ad9a133dc7 62
Kojto 104:b9ad9a133dc7 63
Kojto 104:b9ad9a133dc7 64 void DUALTIMER_ClockEnable(DUALTIMER_TypeDef* DUALTIMERn);
Kojto 104:b9ad9a133dc7 65 void DUALTIMER_ClockDisable(DUALTIMER_TypeDef* DUALTIMERn);
Kojto 104:b9ad9a133dc7 66 void DUALTIMER_DeInit(DUALTIMER_TypeDef* DUALTIMERn);
Kojto 104:b9ad9a133dc7 67 void DUALTIMER_Init(DUALTIMER_TypeDef* DUALTIMERn, DUALTIMER_InitTypDef* DUALTIMER_InitStruct);
Kojto 104:b9ad9a133dc7 68 void DUALTIMER_IntConfig(DUALTIMER_TypeDef* DUALTIMERn, FunctionalState state);
Kojto 104:b9ad9a133dc7 69 void DUALTIMER_IntClear(DUALTIMER_TypeDef* DUALTIMERn);
Kojto 104:b9ad9a133dc7 70 ITStatus DUALTIMER_GetIntStatus(DUALTIMER_TypeDef* DUALTIMERn);
Kojto 104:b9ad9a133dc7 71 FlagStatus DUALTIMER_GetIntEnableStatus(DUALTIMER_TypeDef* DUALTIMERn);
Kojto 104:b9ad9a133dc7 72 void DUALTIMER_Start(DUALTIMER_TypeDef* DUALTIMERn);
Kojto 104:b9ad9a133dc7 73 void DUALTIMER_Stop(DUALTIMER_TypeDef* DUALTIMERn);
Kojto 104:b9ad9a133dc7 74 uint32_t DUALTIMER_GetTimerLoad(DUALTIMER_TypeDef* DUALTIMERn);
Kojto 104:b9ad9a133dc7 75 void DUALTIMER_SetTimerLoad(DUALTIMER_TypeDef* DUALTIMERn, uint32_t TimerLoad);
Kojto 104:b9ad9a133dc7 76 uint32_t DUALTIMER_GetTimerValue(DUALTIMER_TypeDef* DUALTIMERn);
Kojto 104:b9ad9a133dc7 77 uint32_t DUALTIMER_GetTimerControl(DUALTIMER_TypeDef* DUALTIMERn);
Kojto 104:b9ad9a133dc7 78 void DUALTIMER_SetTimerControl(DUALTIMER_TypeDef* DUALTIMERn, uint32_t TimerControl);
Kojto 104:b9ad9a133dc7 79 uint32_t DUALTIMER_GetTimerRIS(DUALTIMER_TypeDef* DUALTIMERn);
Kojto 104:b9ad9a133dc7 80 uint32_t DUALTIMER_GetTimerMIS(DUALTIMER_TypeDef* DUALTIMERn);
Kojto 104:b9ad9a133dc7 81 uint32_t DUALTIMER_GetTimerBGLoad(DUALTIMER_TypeDef* DUALTIMERn);
Kojto 104:b9ad9a133dc7 82 void DUALTIMER_SetTimerBGLoad(DUALTIMER_TypeDef* DUALTIMERn, uint32_t TimerBGLoad);
Kojto 104:b9ad9a133dc7 83
Kojto 104:b9ad9a133dc7 84
Kojto 104:b9ad9a133dc7 85
Kojto 104:b9ad9a133dc7 86 //======================= Interrupt handler ==============================
Kojto 104:b9ad9a133dc7 87 //void DUALTIMER0_Handler();
Kojto 104:b9ad9a133dc7 88 //void DUALTIMER1_Handler();
Kojto 104:b9ad9a133dc7 89
Kojto 104:b9ad9a133dc7 90
Kojto 104:b9ad9a133dc7 91 #ifdef __cplusplus
Kojto 104:b9ad9a133dc7 92 }
Kojto 104:b9ad9a133dc7 93 #endif
Kojto 104:b9ad9a133dc7 94
Kojto 104:b9ad9a133dc7 95
Kojto 104:b9ad9a133dc7 96 #endif //__W7500X_DUALTIMER_H