SMARTEST lib for MPS2

Dependents:   MSP2_LCD_HOLA

Committer:
FelipeVR
Date:
Thu Aug 23 13:39:38 2018 +0000
Revision:
0:f1a413971403
SMARTEST LCD

Who changed what in which revision?

UserRevisionLine numberNew contents of line
FelipeVR 0:f1a413971403 1 /*
FelipeVR 0:f1a413971403 2 *-----------------------------------------------------------------------------
FelipeVR 0:f1a413971403 3 * The confidential and proprietary information contained in this file may
FelipeVR 0:f1a413971403 4 * only be used by a person authorised under and to the extent permitted
FelipeVR 0:f1a413971403 5 * by a subsisting licensing agreement from ARM Limited.
FelipeVR 0:f1a413971403 6 *
FelipeVR 0:f1a413971403 7 * (C) COPYRIGHT 2010-2011 ARM Limited.
FelipeVR 0:f1a413971403 8 * ALL RIGHTS RESERVED
FelipeVR 0:f1a413971403 9 *
FelipeVR 0:f1a413971403 10 * This entire notice must be reproduced on all copies of this file
FelipeVR 0:f1a413971403 11 * and copies of this file may only be made by a person if such person is
FelipeVR 0:f1a413971403 12 * permitted to do so under the terms of a subsisting license agreement
FelipeVR 0:f1a413971403 13 * from ARM Limited.
FelipeVR 0:f1a413971403 14 *
FelipeVR 0:f1a413971403 15 * SVN Information
FelipeVR 0:f1a413971403 16 *
FelipeVR 0:f1a413971403 17 * Checked In : $Date: 2012-05-28 18:02:18 +0100 (Mon, 28 May 2012) $
FelipeVR 0:f1a413971403 18 *
FelipeVR 0:f1a413971403 19 * Revision : $Revision: 210377 $
FelipeVR 0:f1a413971403 20 *
FelipeVR 0:f1a413971403 21 * Release Information : CM3DesignStart-r0p0-01rel0
FelipeVR 0:f1a413971403 22 *-----------------------------------------------------------------------------
FelipeVR 0:f1a413971403 23 */
FelipeVR 0:f1a413971403 24 /*************************************************************************//**
FelipeVR 0:f1a413971403 25 * @file CMSDK_driver.h
FelipeVR 0:f1a413971403 26 * @brief CMSDK Example Device Driver Header File
FelipeVR 0:f1a413971403 27 * @version $State:CM3DesignStart-r0p0-00rel0$
FelipeVR 0:f1a413971403 28 * @date $Date: 2012-05-28 18:02:18 +0100 (Mon, 28 May 2012) $
FelipeVR 0:f1a413971403 29 *
FelipeVR 0:f1a413971403 30 ******************************************************************************/
FelipeVR 0:f1a413971403 31
FelipeVR 0:f1a413971403 32
FelipeVR 0:f1a413971403 33 /** @addtogroup CMSIS_CM0_CMSDK_Driver_definitions CMSDK Driver definitions
FelipeVR 0:f1a413971403 34 This file defines all CMSDK Driver functions for CMSIS core for the following modules:
FelipeVR 0:f1a413971403 35 - Timer
FelipeVR 0:f1a413971403 36 - UART
FelipeVR 0:f1a413971403 37 - GPIO
FelipeVR 0:f1a413971403 38 @{
FelipeVR 0:f1a413971403 39 */
FelipeVR 0:f1a413971403 40
FelipeVR 0:f1a413971403 41 #include <stdint.h>
FelipeVR 0:f1a413971403 42 #include "peripherallink.h"
FelipeVR 0:f1a413971403 43
FelipeVR 0:f1a413971403 44
FelipeVR 0:f1a413971403 45 /*UART Driver Declarations*/
FelipeVR 0:f1a413971403 46
FelipeVR 0:f1a413971403 47 /**
FelipeVR 0:f1a413971403 48 * @brief Initializes UART module.
FelipeVR 0:f1a413971403 49 */
FelipeVR 0:f1a413971403 50
FelipeVR 0:f1a413971403 51 extern uint32_t CMSDK_uart_init(CMSDK_UART_TypeDef *CMSDK_UART, uint32_t divider, uint32_t tx_en,
FelipeVR 0:f1a413971403 52 uint32_t rx_en, uint32_t tx_irq_en, uint32_t rx_irq_en, uint32_t tx_ovrirq_en, uint32_t rx_ovrirq_en);
FelipeVR 0:f1a413971403 53
FelipeVR 0:f1a413971403 54 /**
FelipeVR 0:f1a413971403 55 * @brief Returns whether the UART RX Buffer is Full.
FelipeVR 0:f1a413971403 56 */
FelipeVR 0:f1a413971403 57
FelipeVR 0:f1a413971403 58 extern uint32_t CMSDK_uart_GetRxBufferFull(CMSDK_UART_TypeDef *CMSDK_UART);
FelipeVR 0:f1a413971403 59
FelipeVR 0:f1a413971403 60 /**
FelipeVR 0:f1a413971403 61 * @brief Returns whether the UART TX Buffer is Full.
FelipeVR 0:f1a413971403 62 */
FelipeVR 0:f1a413971403 63
FelipeVR 0:f1a413971403 64 extern uint32_t CMSDK_uart_GetTxBufferFull(CMSDK_UART_TypeDef *CMSDK_UART);
FelipeVR 0:f1a413971403 65
FelipeVR 0:f1a413971403 66 /**
FelipeVR 0:f1a413971403 67 * @brief Sends a character to the UART TX Buffer.
FelipeVR 0:f1a413971403 68 */
FelipeVR 0:f1a413971403 69
FelipeVR 0:f1a413971403 70
FelipeVR 0:f1a413971403 71 extern void CMSDK_uart_SendChar(CMSDK_UART_TypeDef *CMSDK_UART, char txchar);
FelipeVR 0:f1a413971403 72
FelipeVR 0:f1a413971403 73 /**
FelipeVR 0:f1a413971403 74 * @brief Receives a character from the UART RX Buffer.
FelipeVR 0:f1a413971403 75 */
FelipeVR 0:f1a413971403 76
FelipeVR 0:f1a413971403 77 extern char CMSDK_uart_ReceiveChar(CMSDK_UART_TypeDef *CMSDK_UART);
FelipeVR 0:f1a413971403 78
FelipeVR 0:f1a413971403 79 /**
FelipeVR 0:f1a413971403 80 * @brief Returns UART Overrun status.
FelipeVR 0:f1a413971403 81 */
FelipeVR 0:f1a413971403 82
FelipeVR 0:f1a413971403 83 extern uint32_t CMSDK_uart_GetOverrunStatus(CMSDK_UART_TypeDef *CMSDK_UART);
FelipeVR 0:f1a413971403 84
FelipeVR 0:f1a413971403 85 /**
FelipeVR 0:f1a413971403 86 * @brief Clears UART Overrun status Returns new UART Overrun status.
FelipeVR 0:f1a413971403 87 */
FelipeVR 0:f1a413971403 88
FelipeVR 0:f1a413971403 89 extern uint32_t CMSDK_uart_ClearOverrunStatus(CMSDK_UART_TypeDef *CMSDK_UART);
FelipeVR 0:f1a413971403 90
FelipeVR 0:f1a413971403 91 /**
FelipeVR 0:f1a413971403 92 * @brief Returns UART Baud rate Divider value.
FelipeVR 0:f1a413971403 93 */
FelipeVR 0:f1a413971403 94
FelipeVR 0:f1a413971403 95 extern uint32_t CMSDK_uart_GetBaudDivider(CMSDK_UART_TypeDef *CMSDK_UART);
FelipeVR 0:f1a413971403 96
FelipeVR 0:f1a413971403 97 /**
FelipeVR 0:f1a413971403 98 * @brief Return UART TX Interrupt Status.
FelipeVR 0:f1a413971403 99 */
FelipeVR 0:f1a413971403 100
FelipeVR 0:f1a413971403 101 extern uint32_t CMSDK_uart_GetTxIRQStatus(CMSDK_UART_TypeDef *CMSDK_UART);
FelipeVR 0:f1a413971403 102
FelipeVR 0:f1a413971403 103 /**
FelipeVR 0:f1a413971403 104 * @brief Return UART RX Interrupt Status.
FelipeVR 0:f1a413971403 105 */
FelipeVR 0:f1a413971403 106
FelipeVR 0:f1a413971403 107 extern uint32_t CMSDK_uart_GetRxIRQStatus(CMSDK_UART_TypeDef *CMSDK_UART);
FelipeVR 0:f1a413971403 108
FelipeVR 0:f1a413971403 109 /**
FelipeVR 0:f1a413971403 110 * @brief Clear UART TX Interrupt request.
FelipeVR 0:f1a413971403 111 */
FelipeVR 0:f1a413971403 112
FelipeVR 0:f1a413971403 113 extern void CMSDK_uart_ClearTxIRQ(CMSDK_UART_TypeDef *CMSDK_UART);
FelipeVR 0:f1a413971403 114
FelipeVR 0:f1a413971403 115 /**
FelipeVR 0:f1a413971403 116 * @brief Clear UART RX Interrupt request.
FelipeVR 0:f1a413971403 117 */
FelipeVR 0:f1a413971403 118
FelipeVR 0:f1a413971403 119 extern void CMSDK_uart_ClearRxIRQ(CMSDK_UART_TypeDef *CMSDK_UART);
FelipeVR 0:f1a413971403 120
FelipeVR 0:f1a413971403 121 /**
FelipeVR 0:f1a413971403 122 * @brief Set CMSDK Timer for multi-shoot mode with internal clock
FelipeVR 0:f1a413971403 123 */
FelipeVR 0:f1a413971403 124
FelipeVR 0:f1a413971403 125 /*Timer Driver Declarations*/
FelipeVR 0:f1a413971403 126
FelipeVR 0:f1a413971403 127 extern void CMSDK_timer_Init_IntClock(CMSDK_TIMER_TypeDef *CMSDK_TIMER, uint32_t reload,
FelipeVR 0:f1a413971403 128 uint32_t irq_en);
FelipeVR 0:f1a413971403 129
FelipeVR 0:f1a413971403 130 /**
FelipeVR 0:f1a413971403 131 * @brief Set CMSDK Timer for multi-shoot mode with external enable
FelipeVR 0:f1a413971403 132 */
FelipeVR 0:f1a413971403 133
FelipeVR 0:f1a413971403 134 extern void CMSDK_timer_Init_ExtClock(CMSDK_TIMER_TypeDef *CMSDK_TIMER, uint32_t reload,
FelipeVR 0:f1a413971403 135 uint32_t irq_en);
FelipeVR 0:f1a413971403 136
FelipeVR 0:f1a413971403 137
FelipeVR 0:f1a413971403 138 /**
FelipeVR 0:f1a413971403 139 * @brief Set CMSDK Timer for multi-shoot mode with external clock
FelipeVR 0:f1a413971403 140 */
FelipeVR 0:f1a413971403 141
FelipeVR 0:f1a413971403 142 extern void CMSDK_timer_Init_ExtEnable(CMSDK_TIMER_TypeDef *CMSDK_TIMER, uint32_t reload,
FelipeVR 0:f1a413971403 143 uint32_t irq_en);
FelipeVR 0:f1a413971403 144
FelipeVR 0:f1a413971403 145 /**
FelipeVR 0:f1a413971403 146 * @brief CMSDK Timer interrupt clear
FelipeVR 0:f1a413971403 147 */
FelipeVR 0:f1a413971403 148
FelipeVR 0:f1a413971403 149
FelipeVR 0:f1a413971403 150 extern void CMSDK_timer_ClearIRQ(CMSDK_TIMER_TypeDef *CMSDK_TIMER);
FelipeVR 0:f1a413971403 151
FelipeVR 0:f1a413971403 152 /**
FelipeVR 0:f1a413971403 153 * @brief Returns timer IRQ status
FelipeVR 0:f1a413971403 154 */
FelipeVR 0:f1a413971403 155
FelipeVR 0:f1a413971403 156 uint32_t CMSDK_timer_StatusIRQ(CMSDK_TIMER_TypeDef *CMSDK_TIMER);
FelipeVR 0:f1a413971403 157
FelipeVR 0:f1a413971403 158 /**
FelipeVR 0:f1a413971403 159 * @brief Returns Timer Reload value.
FelipeVR 0:f1a413971403 160 */
FelipeVR 0:f1a413971403 161
FelipeVR 0:f1a413971403 162 extern uint32_t CMSDK_timer_GetReload(CMSDK_TIMER_TypeDef *CMSDK_TIMER);
FelipeVR 0:f1a413971403 163
FelipeVR 0:f1a413971403 164 /**
FelipeVR 0:f1a413971403 165 * @brief Sets Timer Reload value.
FelipeVR 0:f1a413971403 166 */
FelipeVR 0:f1a413971403 167
FelipeVR 0:f1a413971403 168 extern void CMSDK_timer_SetReload(CMSDK_TIMER_TypeDef *CMSDK_TIMER, uint32_t value);
FelipeVR 0:f1a413971403 169
FelipeVR 0:f1a413971403 170 /**
FelipeVR 0:f1a413971403 171 * @brief Returns Timer current value.
FelipeVR 0:f1a413971403 172 */
FelipeVR 0:f1a413971403 173
FelipeVR 0:f1a413971403 174 uint32_t CMSDK_timer_GetValue(CMSDK_TIMER_TypeDef *CMSDK_TIMER);
FelipeVR 0:f1a413971403 175
FelipeVR 0:f1a413971403 176 /**
FelipeVR 0:f1a413971403 177 * @brief Sets Timer current value.
FelipeVR 0:f1a413971403 178 */
FelipeVR 0:f1a413971403 179
FelipeVR 0:f1a413971403 180 extern void CMSDK_timer_SetValue(CMSDK_TIMER_TypeDef *CMSDK_TIMER, uint32_t value);
FelipeVR 0:f1a413971403 181
FelipeVR 0:f1a413971403 182 /**
FelipeVR 0:f1a413971403 183 * @brief Stops CMSDK Timer.
FelipeVR 0:f1a413971403 184 */
FelipeVR 0:f1a413971403 185
FelipeVR 0:f1a413971403 186 extern void CMSDK_timer_StopTimer(CMSDK_TIMER_TypeDef *CMSDK_TIMER);
FelipeVR 0:f1a413971403 187
FelipeVR 0:f1a413971403 188 /**
FelipeVR 0:f1a413971403 189 * @brief Starts CMSDK Timer.
FelipeVR 0:f1a413971403 190 */
FelipeVR 0:f1a413971403 191
FelipeVR 0:f1a413971403 192 extern void CMSDK_timer_StartTimer(CMSDK_TIMER_TypeDef *CMSDK_TIMER);
FelipeVR 0:f1a413971403 193
FelipeVR 0:f1a413971403 194 /**
FelipeVR 0:f1a413971403 195 * @brief Enables CMSDK Timer Interrupt requests.
FelipeVR 0:f1a413971403 196 */
FelipeVR 0:f1a413971403 197
FelipeVR 0:f1a413971403 198 extern void CMSDK_timer_EnableIRQ(CMSDK_TIMER_TypeDef *CMSDK_TIMER);
FelipeVR 0:f1a413971403 199
FelipeVR 0:f1a413971403 200 /**
FelipeVR 0:f1a413971403 201 * @brief Disables CMSDK Timer Interrupt requests.
FelipeVR 0:f1a413971403 202 */
FelipeVR 0:f1a413971403 203
FelipeVR 0:f1a413971403 204 extern void CMSDK_timer_DisableIRQ(CMSDK_TIMER_TypeDef *CMSDK_TIMER);
FelipeVR 0:f1a413971403 205
FelipeVR 0:f1a413971403 206 /**
FelipeVR 0:f1a413971403 207 * @brief Set CMSDK GPIO Output Enable.
FelipeVR 0:f1a413971403 208 */
FelipeVR 0:f1a413971403 209
FelipeVR 0:f1a413971403 210 /*GPIO Driver Declarations*/
FelipeVR 0:f1a413971403 211
FelipeVR 0:f1a413971403 212 extern void CMSDK_gpio_SetOutEnable(CMSDK_GPIO_TypeDef *CMSDK_GPIO, uint32_t outenableset);
FelipeVR 0:f1a413971403 213
FelipeVR 0:f1a413971403 214 /**
FelipeVR 0:f1a413971403 215 * @brief Clear CMSDK GPIO Output Enable.
FelipeVR 0:f1a413971403 216 */
FelipeVR 0:f1a413971403 217
FelipeVR 0:f1a413971403 218 extern void CMSDK_gpio_ClrOutEnable(CMSDK_GPIO_TypeDef *CMSDK_GPIO, uint32_t outenableclr);
FelipeVR 0:f1a413971403 219
FelipeVR 0:f1a413971403 220 /**
FelipeVR 0:f1a413971403 221 * @brief Returns CMSDK GPIO Output Enable.
FelipeVR 0:f1a413971403 222 */
FelipeVR 0:f1a413971403 223
FelipeVR 0:f1a413971403 224 extern uint32_t CMSDK_gpio_GetOutEnable(CMSDK_GPIO_TypeDef *CMSDK_GPIO);
FelipeVR 0:f1a413971403 225
FelipeVR 0:f1a413971403 226 /**
FelipeVR 0:f1a413971403 227 * @brief Set CMSDK GPIO Alternate function Enable.
FelipeVR 0:f1a413971403 228 */
FelipeVR 0:f1a413971403 229
FelipeVR 0:f1a413971403 230 extern void CMSDK_gpio_SetAltFunc(CMSDK_GPIO_TypeDef *CMSDK_GPIO, uint32_t AltFuncset);
FelipeVR 0:f1a413971403 231
FelipeVR 0:f1a413971403 232 /**
FelipeVR 0:f1a413971403 233 * @brief Clear CMSDK GPIO Alternate function Enable.
FelipeVR 0:f1a413971403 234 */
FelipeVR 0:f1a413971403 235
FelipeVR 0:f1a413971403 236 extern void CMSDK_gpio_ClrAltFunc(CMSDK_GPIO_TypeDef *CMSDK_GPIO, uint32_t AltFuncclr);
FelipeVR 0:f1a413971403 237
FelipeVR 0:f1a413971403 238 /**
FelipeVR 0:f1a413971403 239 * @brief Returns CMSDK GPIO Alternate function Enable.
FelipeVR 0:f1a413971403 240 */
FelipeVR 0:f1a413971403 241
FelipeVR 0:f1a413971403 242 extern uint32_t CMSDK_gpio_GetAltFunc(CMSDK_GPIO_TypeDef *CMSDK_GPIO);
FelipeVR 0:f1a413971403 243
FelipeVR 0:f1a413971403 244 /**
FelipeVR 0:f1a413971403 245 * @brief Clear CMSDK GPIO Interrupt request.
FelipeVR 0:f1a413971403 246 */
FelipeVR 0:f1a413971403 247
FelipeVR 0:f1a413971403 248 extern uint32_t CMSDK_gpio_IntClear(CMSDK_GPIO_TypeDef *CMSDK_GPIO, uint32_t Num);
FelipeVR 0:f1a413971403 249
FelipeVR 0:f1a413971403 250 /**
FelipeVR 0:f1a413971403 251 * @brief Enable CMSDK GPIO Interrupt request.
FelipeVR 0:f1a413971403 252 */
FelipeVR 0:f1a413971403 253
FelipeVR 0:f1a413971403 254 extern uint32_t CMSDK_gpio_SetIntEnable(CMSDK_GPIO_TypeDef *CMSDK_GPIO, uint32_t Num);
FelipeVR 0:f1a413971403 255
FelipeVR 0:f1a413971403 256 /**
FelipeVR 0:f1a413971403 257 * @brief Disable CMSDK GPIO Interrupt request.
FelipeVR 0:f1a413971403 258 */
FelipeVR 0:f1a413971403 259
FelipeVR 0:f1a413971403 260 extern uint32_t CMSDK_gpio_ClrIntEnable(CMSDK_GPIO_TypeDef *CMSDK_GPIO, uint32_t Num);
FelipeVR 0:f1a413971403 261
FelipeVR 0:f1a413971403 262 /**
FelipeVR 0:f1a413971403 263 * @brief Setup CMSDK GPIO Interrupt as high level.
FelipeVR 0:f1a413971403 264 */
FelipeVR 0:f1a413971403 265
FelipeVR 0:f1a413971403 266 extern void CMSDK_gpio_SetIntHighLevel(CMSDK_GPIO_TypeDef *CMSDK_GPIO, uint32_t Num);
FelipeVR 0:f1a413971403 267
FelipeVR 0:f1a413971403 268 /**
FelipeVR 0:f1a413971403 269 * @brief Setup CMSDK GPIO Interrupt as rising edge.
FelipeVR 0:f1a413971403 270 */
FelipeVR 0:f1a413971403 271
FelipeVR 0:f1a413971403 272 extern void CMSDK_gpio_SetIntRisingEdge(CMSDK_GPIO_TypeDef *CMSDK_GPIO, uint32_t Num);
FelipeVR 0:f1a413971403 273
FelipeVR 0:f1a413971403 274 /**
FelipeVR 0:f1a413971403 275 * @brief Setup CMSDK GPIO Interrupt as low level.
FelipeVR 0:f1a413971403 276 */
FelipeVR 0:f1a413971403 277
FelipeVR 0:f1a413971403 278 extern void CMSDK_gpio_SetIntLowLevel(CMSDK_GPIO_TypeDef *CMSDK_GPIO, uint32_t Num);
FelipeVR 0:f1a413971403 279
FelipeVR 0:f1a413971403 280 /**
FelipeVR 0:f1a413971403 281 * @brief Setup CMSDK GPIO Interrupt as falling edge.
FelipeVR 0:f1a413971403 282 */
FelipeVR 0:f1a413971403 283
FelipeVR 0:f1a413971403 284 extern void CMSDK_gpio_SetIntFallingEdge(CMSDK_GPIO_TypeDef *CMSDK_GPIO, uint32_t Num);
FelipeVR 0:f1a413971403 285
FelipeVR 0:f1a413971403 286 /**
FelipeVR 0:f1a413971403 287 * @brief Setup CMSDK GPIO output value using Masked access.
FelipeVR 0:f1a413971403 288 */
FelipeVR 0:f1a413971403 289
FelipeVR 0:f1a413971403 290 extern void CMSDK_gpio_MaskedWrite(CMSDK_GPIO_TypeDef *CMSDK_GPIO, uint32_t value, uint32_t mask);
FelipeVR 0:f1a413971403 291
FelipeVR 0:f1a413971403 292 /*@}*/ /* end of group CMSIS_CM0_CMSDK_Driver_definitions CMSDK Driver definitions */
FelipeVR 0:f1a413971403 293
FelipeVR 0:f1a413971403 294