mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

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 }