mbed library sources

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Mon Jul 27 09:45:08 2015 +0100
Revision:
597:47bdd20c4d41
Synchronized with git revision 9b9bab51e568581a2a896967a707d3b5aeda3f17

Full URL: https://github.com/mbedmicro/mbed/commit/9b9bab51e568581a2a896967a707d3b5aeda3f17/

Change us_ticker - one dual timer + one pwm timer

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 597:47bdd20c4d41 1 /**
mbed_official 597:47bdd20c4d41 2 ******************************************************************************
mbed_official 597:47bdd20c4d41 3 * @file W7500x_stdPeriph_Driver/src/W7500x_dualtimer.c
mbed_official 597:47bdd20c4d41 4 * @author IOP Team
mbed_official 597:47bdd20c4d41 5 * @version v1.0.0
mbed_official 597:47bdd20c4d41 6 * @date 01-May-2015
mbed_official 597:47bdd20c4d41 7 * @brief This file contains all the functions prototypes for the dualtimer
mbed_official 597:47bdd20c4d41 8 * firmware library.
mbed_official 597:47bdd20c4d41 9 ******************************************************************************
mbed_official 597:47bdd20c4d41 10 *
mbed_official 597:47bdd20c4d41 11 ******************************************************************************
mbed_official 597:47bdd20c4d41 12 */
mbed_official 597:47bdd20c4d41 13
mbed_official 597:47bdd20c4d41 14 /* Includes -------------------------------------------*/
mbed_official 597:47bdd20c4d41 15 #include "W7500x.h"
mbed_official 597:47bdd20c4d41 16
mbed_official 597:47bdd20c4d41 17 void DUALTIMER_ClockEnable(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 597:47bdd20c4d41 18 {
mbed_official 597:47bdd20c4d41 19 /* Check the parameters */
mbed_official 597:47bdd20c4d41 20 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 597:47bdd20c4d41 21
mbed_official 597:47bdd20c4d41 22 if(DUALTIMERn == DUALTIMER0_0)
mbed_official 597:47bdd20c4d41 23 TIMCLKEN0_0 = DUALTIMER_Clock_Enable;
mbed_official 597:47bdd20c4d41 24 else if(DUALTIMERn == DUALTIMER0_1)
mbed_official 597:47bdd20c4d41 25 TIMCLKEN0_1 = DUALTIMER_Clock_Enable;
mbed_official 597:47bdd20c4d41 26 else if(DUALTIMERn == DUALTIMER1_0)
mbed_official 597:47bdd20c4d41 27 TIMCLKEN1_0 = DUALTIMER_Clock_Enable;
mbed_official 597:47bdd20c4d41 28 else if(DUALTIMERn == DUALTIMER1_1)
mbed_official 597:47bdd20c4d41 29 TIMCLKEN1_1 = DUALTIMER_Clock_Enable;
mbed_official 597:47bdd20c4d41 30 }
mbed_official 597:47bdd20c4d41 31
mbed_official 597:47bdd20c4d41 32 void DUALTIMER_ClockDisable(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 597:47bdd20c4d41 33 {
mbed_official 597:47bdd20c4d41 34 /* Check the parameters */
mbed_official 597:47bdd20c4d41 35 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 597:47bdd20c4d41 36
mbed_official 597:47bdd20c4d41 37 if(DUALTIMERn == DUALTIMER0_0)
mbed_official 597:47bdd20c4d41 38 TIMCLKEN0_0 = DUALTIMER_Clock_Disable;
mbed_official 597:47bdd20c4d41 39 else if(DUALTIMERn == DUALTIMER0_1)
mbed_official 597:47bdd20c4d41 40 TIMCLKEN0_1 = DUALTIMER_Clock_Disable;
mbed_official 597:47bdd20c4d41 41 else if(DUALTIMERn == DUALTIMER1_0)
mbed_official 597:47bdd20c4d41 42 TIMCLKEN1_0 = DUALTIMER_Clock_Disable;
mbed_official 597:47bdd20c4d41 43 else if(DUALTIMERn == DUALTIMER1_1)
mbed_official 597:47bdd20c4d41 44 TIMCLKEN1_1 = DUALTIMER_Clock_Disable;
mbed_official 597:47bdd20c4d41 45 }
mbed_official 597:47bdd20c4d41 46
mbed_official 597:47bdd20c4d41 47 void DUALTIMER_DeInit(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 597:47bdd20c4d41 48 {
mbed_official 597:47bdd20c4d41 49 /* Check the parameters */
mbed_official 597:47bdd20c4d41 50 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 597:47bdd20c4d41 51
mbed_official 597:47bdd20c4d41 52 DUALTIMER_Stop(DUALTIMERn);
mbed_official 597:47bdd20c4d41 53
mbed_official 597:47bdd20c4d41 54 DUALTIMERn->TimerLoad = 0x0;
mbed_official 597:47bdd20c4d41 55 DUALTIMERn->TimerControl = 0x20;
mbed_official 597:47bdd20c4d41 56 DUALTIMERn->TimerBGLoad = 0x0;
mbed_official 597:47bdd20c4d41 57 }
mbed_official 597:47bdd20c4d41 58
mbed_official 597:47bdd20c4d41 59 void DUALTIMER_Init(DUALTIMER_TypeDef* DUALTIMERn, DUALTIMER_InitTypDef* DUALTIMER_InitStruct)
mbed_official 597:47bdd20c4d41 60 {
mbed_official 597:47bdd20c4d41 61 uint32_t tmp = 0;
mbed_official 597:47bdd20c4d41 62 /* Check the parameters */
mbed_official 597:47bdd20c4d41 63 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 597:47bdd20c4d41 64 assert_param(IS_DUALTIMER_TimerMode(DUALTIMER_InitStruct->TimerControl_Mode));
mbed_official 597:47bdd20c4d41 65 assert_param(IS_DUALTIMER_TimerPre(DUALTIMER_InitStruct->TimerControl_Pre));
mbed_official 597:47bdd20c4d41 66 assert_param(IS_DUALTIMER_TimerSize(DUALTIMER_InitStruct->TimerControl_Size));
mbed_official 597:47bdd20c4d41 67 assert_param(IS_DUALTIMER_OneShot(DUALTIMER_InitStruct->TimerControl_OneShot));
mbed_official 597:47bdd20c4d41 68
mbed_official 597:47bdd20c4d41 69 DUALTIMER_Stop(DUALTIMERn);
mbed_official 597:47bdd20c4d41 70
mbed_official 597:47bdd20c4d41 71 DUALTIMERn->TimerLoad = DUALTIMER_InitStruct->TimerLoad;
mbed_official 597:47bdd20c4d41 72
mbed_official 597:47bdd20c4d41 73 tmp = DUALTIMERn->TimerControl;
mbed_official 597:47bdd20c4d41 74 tmp |= (DUALTIMER_InitStruct->TimerControl_Mode << DUALTIMER_TimerControl_TimerMode_Pos);
mbed_official 597:47bdd20c4d41 75 tmp |= (DUALTIMER_InitStruct->TimerControl_Pre << DUALTIMER_TimerControl_Pre_Pos);
mbed_official 597:47bdd20c4d41 76 tmp |= (DUALTIMER_InitStruct->TimerControl_Size << DUALTIMER_TimerControl_Size_Pos);
mbed_official 597:47bdd20c4d41 77 tmp |= (DUALTIMER_InitStruct->TimerControl_OneShot << DUALTIMER_TimerControl_OneShot_Pos);
mbed_official 597:47bdd20c4d41 78 //Reset values not used
mbed_official 597:47bdd20c4d41 79 tmp &= 0xEF;
mbed_official 597:47bdd20c4d41 80
mbed_official 597:47bdd20c4d41 81 DUALTIMERn->TimerControl = tmp;
mbed_official 597:47bdd20c4d41 82 }
mbed_official 597:47bdd20c4d41 83
mbed_official 597:47bdd20c4d41 84 void DUALTIMER_IntConfig(DUALTIMER_TypeDef* DUALTIMERn, FunctionalState state)
mbed_official 597:47bdd20c4d41 85 {
mbed_official 597:47bdd20c4d41 86 /* Check the parameters */
mbed_official 597:47bdd20c4d41 87 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 597:47bdd20c4d41 88
mbed_official 597:47bdd20c4d41 89 if(state == ENABLE)
mbed_official 597:47bdd20c4d41 90 DUALTIMERn->TimerControl |= (DUALTIMER_TimerControl_IntEnable << DUALTIMER_TimerControl_IntEnable_Pos);
mbed_official 597:47bdd20c4d41 91 else
mbed_official 597:47bdd20c4d41 92 DUALTIMERn->TimerControl &= ~(DUALTIMER_TimerControl_IntEnable << DUALTIMER_TimerControl_IntEnable_Pos);
mbed_official 597:47bdd20c4d41 93 }
mbed_official 597:47bdd20c4d41 94
mbed_official 597:47bdd20c4d41 95 void DUALTIMER_IntClear(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 597:47bdd20c4d41 96 {
mbed_official 597:47bdd20c4d41 97 /* Check the parameters */
mbed_official 597:47bdd20c4d41 98 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 597:47bdd20c4d41 99
mbed_official 597:47bdd20c4d41 100 DUALTIMERn->TimerIntClr = DUALTIMER_Int_Clear;
mbed_official 597:47bdd20c4d41 101 }
mbed_official 597:47bdd20c4d41 102
mbed_official 597:47bdd20c4d41 103 ITStatus DUALTIMER_GetIntStatus(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 597:47bdd20c4d41 104 {
mbed_official 597:47bdd20c4d41 105 /* Check the parameters */
mbed_official 597:47bdd20c4d41 106 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 597:47bdd20c4d41 107
mbed_official 597:47bdd20c4d41 108 return (ITStatus)DUALTIMERn->TimerMIS;
mbed_official 597:47bdd20c4d41 109 }
mbed_official 597:47bdd20c4d41 110
mbed_official 597:47bdd20c4d41 111 FlagStatus DUALTIMER_GetIntEnableStatus(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 597:47bdd20c4d41 112 {
mbed_official 597:47bdd20c4d41 113 /* Check the parameters */
mbed_official 597:47bdd20c4d41 114 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 597:47bdd20c4d41 115
mbed_official 597:47bdd20c4d41 116 return (FlagStatus)((DUALTIMERn->TimerControl >> DUALTIMER_TimerControl_IntEnable_Pos) & 0x1);
mbed_official 597:47bdd20c4d41 117 }
mbed_official 597:47bdd20c4d41 118
mbed_official 597:47bdd20c4d41 119 void DUALTIMER_Start(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 597:47bdd20c4d41 120 {
mbed_official 597:47bdd20c4d41 121 /* Check the parameters */
mbed_official 597:47bdd20c4d41 122 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 597:47bdd20c4d41 123
mbed_official 597:47bdd20c4d41 124 DUALTIMERn->TimerControl |= (DUALTIMER_TimerControl_TimerEnable << DUALTIMER_TimerControl_TimerEnable_Pos);
mbed_official 597:47bdd20c4d41 125 }
mbed_official 597:47bdd20c4d41 126
mbed_official 597:47bdd20c4d41 127 void DUALTIMER_Stop(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 597:47bdd20c4d41 128 {
mbed_official 597:47bdd20c4d41 129 /* Check the parameters */
mbed_official 597:47bdd20c4d41 130 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 597:47bdd20c4d41 131
mbed_official 597:47bdd20c4d41 132 DUALTIMERn->TimerControl &= ~(DUALTIMER_TimerControl_TimerEnable << DUALTIMER_TimerControl_TimerEnable_Pos);
mbed_official 597:47bdd20c4d41 133 }
mbed_official 597:47bdd20c4d41 134
mbed_official 597:47bdd20c4d41 135 uint32_t DUALTIMER_GetTimerLoad(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 597:47bdd20c4d41 136 {
mbed_official 597:47bdd20c4d41 137 /* Check the parameters */
mbed_official 597:47bdd20c4d41 138 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 597:47bdd20c4d41 139
mbed_official 597:47bdd20c4d41 140 return DUALTIMERn->TimerLoad;
mbed_official 597:47bdd20c4d41 141 }
mbed_official 597:47bdd20c4d41 142
mbed_official 597:47bdd20c4d41 143 void DUALTIMER_SetTimerLoad(DUALTIMER_TypeDef* DUALTIMERn, uint32_t TimerLoad)
mbed_official 597:47bdd20c4d41 144 {
mbed_official 597:47bdd20c4d41 145 /* Check the parameters */
mbed_official 597:47bdd20c4d41 146 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 597:47bdd20c4d41 147
mbed_official 597:47bdd20c4d41 148 DUALTIMERn->TimerLoad = TimerLoad;
mbed_official 597:47bdd20c4d41 149 }
mbed_official 597:47bdd20c4d41 150
mbed_official 597:47bdd20c4d41 151 uint32_t DUALTIMER_GetTimerValue(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 597:47bdd20c4d41 152 {
mbed_official 597:47bdd20c4d41 153 /* Check the parameters */
mbed_official 597:47bdd20c4d41 154 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 597:47bdd20c4d41 155
mbed_official 597:47bdd20c4d41 156 return DUALTIMERn->TimerValue;
mbed_official 597:47bdd20c4d41 157 }
mbed_official 597:47bdd20c4d41 158
mbed_official 597:47bdd20c4d41 159 uint32_t DUALTIMER_GetTimerControl(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 597:47bdd20c4d41 160 {
mbed_official 597:47bdd20c4d41 161 /* Check the parameters */
mbed_official 597:47bdd20c4d41 162 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 597:47bdd20c4d41 163
mbed_official 597:47bdd20c4d41 164 return DUALTIMERn->TimerControl;
mbed_official 597:47bdd20c4d41 165 }
mbed_official 597:47bdd20c4d41 166
mbed_official 597:47bdd20c4d41 167 void DUALTIMER_SetTimerControl(DUALTIMER_TypeDef* DUALTIMERn, uint32_t TimerControl)
mbed_official 597:47bdd20c4d41 168 {
mbed_official 597:47bdd20c4d41 169 /* Check the parameters */
mbed_official 597:47bdd20c4d41 170 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 597:47bdd20c4d41 171
mbed_official 597:47bdd20c4d41 172 DUALTIMERn->TimerControl = TimerControl;
mbed_official 597:47bdd20c4d41 173 }
mbed_official 597:47bdd20c4d41 174
mbed_official 597:47bdd20c4d41 175 uint32_t DUALTIMER_GetTimerRIS(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 597:47bdd20c4d41 176 {
mbed_official 597:47bdd20c4d41 177 /* Check the parameters */
mbed_official 597:47bdd20c4d41 178 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 597:47bdd20c4d41 179
mbed_official 597:47bdd20c4d41 180 return DUALTIMERn->TimerRIS;
mbed_official 597:47bdd20c4d41 181 }
mbed_official 597:47bdd20c4d41 182
mbed_official 597:47bdd20c4d41 183 uint32_t DUALTIMER_GetTimerMIS(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 597:47bdd20c4d41 184 {
mbed_official 597:47bdd20c4d41 185 /* Check the parameters */
mbed_official 597:47bdd20c4d41 186 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 597:47bdd20c4d41 187
mbed_official 597:47bdd20c4d41 188 return DUALTIMERn->TimerMIS;
mbed_official 597:47bdd20c4d41 189 }
mbed_official 597:47bdd20c4d41 190
mbed_official 597:47bdd20c4d41 191 uint32_t DUALTIMER_GetTimerBGLoad(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 597:47bdd20c4d41 192 {
mbed_official 597:47bdd20c4d41 193 /* Check the parameters */
mbed_official 597:47bdd20c4d41 194 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 597:47bdd20c4d41 195
mbed_official 597:47bdd20c4d41 196 return DUALTIMERn->TimerBGLoad;
mbed_official 597:47bdd20c4d41 197 }
mbed_official 597:47bdd20c4d41 198
mbed_official 597:47bdd20c4d41 199 void DUALTIMER_SetTimerBGLoad(DUALTIMER_TypeDef* DUALTIMERn, uint32_t TimerBGLoad)
mbed_official 597:47bdd20c4d41 200 {
mbed_official 597:47bdd20c4d41 201 /* Check the parameters */
mbed_official 597:47bdd20c4d41 202 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 597:47bdd20c4d41 203
mbed_official 597:47bdd20c4d41 204 DUALTIMERn->TimerBGLoad = TimerBGLoad;
mbed_official 597:47bdd20c4d41 205 }