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:
Fri Sep 04 09:30:10 2015 +0100
Revision:
619:034e698bc035
Child:
631:ff681937ffd8
Synchronized with git revision 92d1bfad30082571776c810a56fd471d30514ccf

Full URL: https://github.com/mbedmicro/mbed/commit/92d1bfad30082571776c810a56fd471d30514ccf/

Change directory structure and move files.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 619:034e698bc035 1 /**
mbed_official 619:034e698bc035 2 ******************************************************************************
mbed_official 619:034e698bc035 3 * @file W7500x_uart.c
mbed_official 619:034e698bc035 4 * @author
mbed_official 619:034e698bc035 5 * @version
mbed_official 619:034e698bc035 6 * @date
mbed_official 619:034e698bc035 7 * @brief
mbed_official 619:034e698bc035 8 ******************************************************************************
mbed_official 619:034e698bc035 9 * @attention
mbed_official 619:034e698bc035 10 *
mbed_official 619:034e698bc035 11 *
mbed_official 619:034e698bc035 12 ******************************************************************************
mbed_official 619:034e698bc035 13 */
mbed_official 619:034e698bc035 14
mbed_official 619:034e698bc035 15 /* Includes ------------------------------------------------------------------*/
mbed_official 619:034e698bc035 16 #include "W7500x.h"
mbed_official 619:034e698bc035 17 #include "W7500x_uart.h"
mbed_official 619:034e698bc035 18
mbed_official 619:034e698bc035 19 void UART_StructInit(UART_InitTypeDef* UART_InitStruct)
mbed_official 619:034e698bc035 20 {
mbed_official 619:034e698bc035 21 /* UART_InitStruct members default value */
mbed_official 619:034e698bc035 22 UART_InitStruct->UART_BaudRate = 115200;
mbed_official 619:034e698bc035 23 UART_InitStruct->UART_WordLength = UART_WordLength_8b ;
mbed_official 619:034e698bc035 24 UART_InitStruct->UART_StopBits = UART_StopBits_1;
mbed_official 619:034e698bc035 25 UART_InitStruct->UART_Parity = UART_Parity_No ;
mbed_official 619:034e698bc035 26 UART_InitStruct->UART_Mode = UART_Mode_Rx | UART_Mode_Tx;
mbed_official 619:034e698bc035 27 UART_InitStruct->UART_HardwareFlowControl = UART_HardwareFlowControl_None ;
mbed_official 619:034e698bc035 28 }
mbed_official 619:034e698bc035 29
mbed_official 619:034e698bc035 30 void UART_DeInit(UART_TypeDef *UARTx)
mbed_official 619:034e698bc035 31 {
mbed_official 619:034e698bc035 32
mbed_official 619:034e698bc035 33 }
mbed_official 619:034e698bc035 34
mbed_official 619:034e698bc035 35 uint32_t UART_Init(UART_TypeDef *UARTx, UART_InitTypeDef* UART_InitStruct)
mbed_official 619:034e698bc035 36 {
mbed_official 619:034e698bc035 37 float baud_divisor;
mbed_official 619:034e698bc035 38 uint32_t tmpreg=0x00, uartclock=0x00;
mbed_official 619:034e698bc035 39 uint32_t integer_baud = 0x00, fractional_baud = 0x00;
mbed_official 619:034e698bc035 40
mbed_official 619:034e698bc035 41 assert_param(IS_UART_01_PERIPH(UARTx));
mbed_official 619:034e698bc035 42 assert_param(IS_UART_WORD_LENGTH(UART_InitStruct->UART_WordLength));
mbed_official 619:034e698bc035 43 assert_param(IS_UART_PARITY(UART_InitStruct->UART_Parity));
mbed_official 619:034e698bc035 44 assert_param(IS_UART_STOPBITS(UART_InitStruct->UART_StopBits));
mbed_official 619:034e698bc035 45 assert_param(IS_UART_HARDWARE_FLOW_CONTROL(UART_InitStruct->UART_HardwareFlowControl));
mbed_official 619:034e698bc035 46 assert_param(IS_UART_MODE(UART_InitStruct->UART_Mode));
mbed_official 619:034e698bc035 47
mbed_official 619:034e698bc035 48
mbed_official 619:034e698bc035 49 UARTx->CR &= ~(UART_CR_UARTEN);
mbed_official 619:034e698bc035 50
mbed_official 619:034e698bc035 51 // Set baudrate
mbed_official 619:034e698bc035 52 CRG->UARTCLK_SSR = CRG_UARTCLK_SSR_RCLK; // Set UART Clock using internal Oscilator ( 8MHz )
mbed_official 619:034e698bc035 53 uartclock = (8000000UL) / (1 << CRG->UARTCLK_PVSR);
mbed_official 619:034e698bc035 54
mbed_official 619:034e698bc035 55 baud_divisor = ((float)uartclock / (16 * UART_InitStruct->UART_BaudRate));
mbed_official 619:034e698bc035 56 integer_baud = (uint32_t)baud_divisor;
mbed_official 619:034e698bc035 57 fractional_baud = (uint32_t)((baud_divisor - integer_baud) * 64 + 0.5);
mbed_official 619:034e698bc035 58
mbed_official 619:034e698bc035 59 UARTx->IBRD = integer_baud;
mbed_official 619:034e698bc035 60 UARTx->FBRD = fractional_baud;
mbed_official 619:034e698bc035 61
mbed_official 619:034e698bc035 62
mbed_official 619:034e698bc035 63 tmpreg = UARTx->LCR_H;
mbed_official 619:034e698bc035 64 tmpreg &= ~(0x00EE);
mbed_official 619:034e698bc035 65 tmpreg |= (UART_InitStruct->UART_WordLength | UART_InitStruct->UART_StopBits | UART_InitStruct->UART_Parity);
mbed_official 619:034e698bc035 66 UARTx->LCR_H |= tmpreg;
mbed_official 619:034e698bc035 67
mbed_official 619:034e698bc035 68 tmpreg = UARTx->CR;
mbed_official 619:034e698bc035 69 tmpreg &= ~(UART_CR_CTSEn | UART_CR_RTSEn | UART_CR_RXE | UART_CR_TXE | UART_CR_UARTEN);
mbed_official 619:034e698bc035 70 tmpreg |= (UART_InitStruct->UART_Mode | UART_InitStruct->UART_HardwareFlowControl);
mbed_official 619:034e698bc035 71 UARTx->CR |= tmpreg;
mbed_official 619:034e698bc035 72
mbed_official 619:034e698bc035 73 UARTx->CR |= UART_CR_UARTEN;
mbed_official 619:034e698bc035 74
mbed_official 619:034e698bc035 75 return 0;
mbed_official 619:034e698bc035 76 }
mbed_official 619:034e698bc035 77
mbed_official 619:034e698bc035 78
mbed_official 619:034e698bc035 79 void UART_SendData(UART_TypeDef* UARTx, uint16_t Data)
mbed_official 619:034e698bc035 80 {
mbed_official 619:034e698bc035 81 assert_param(IS_UART_01_PERIPH(UARTx));
mbed_official 619:034e698bc035 82
mbed_official 619:034e698bc035 83 UARTx->DR = Data;
mbed_official 619:034e698bc035 84 }
mbed_official 619:034e698bc035 85
mbed_official 619:034e698bc035 86
mbed_official 619:034e698bc035 87 uint16_t UART_ReceiveData(UART_TypeDef* UARTx)
mbed_official 619:034e698bc035 88 {
mbed_official 619:034e698bc035 89 assert_param(IS_UART_01_PERIPH(UARTx));
mbed_official 619:034e698bc035 90
mbed_official 619:034e698bc035 91 return (uint16_t)(UARTx->DR);
mbed_official 619:034e698bc035 92 }
mbed_official 619:034e698bc035 93
mbed_official 619:034e698bc035 94
mbed_official 619:034e698bc035 95 void UART_SendBreak(UART_TypeDef* UARTx)
mbed_official 619:034e698bc035 96 {
mbed_official 619:034e698bc035 97 assert_param(IS_UART_01_PERIPH(UARTx));
mbed_official 619:034e698bc035 98
mbed_official 619:034e698bc035 99 UARTx->LCR_H |= UART_LCR_H_BRK;
mbed_official 619:034e698bc035 100 }
mbed_official 619:034e698bc035 101
mbed_official 619:034e698bc035 102
mbed_official 619:034e698bc035 103 FlagStatus UART_GetRecvStatus(UART_TypeDef* UARTx, uint16_t UART_RECV_STATUS)
mbed_official 619:034e698bc035 104 {
mbed_official 619:034e698bc035 105 FlagStatus bitstatus = RESET;
mbed_official 619:034e698bc035 106
mbed_official 619:034e698bc035 107 assert_param(IS_UART_01_PERIPH(UARTx));
mbed_official 619:034e698bc035 108 assert_param(IS_UART_RECV_STATUS(UART_RECV_STATUS));
mbed_official 619:034e698bc035 109
mbed_official 619:034e698bc035 110 if( (UARTx->STATUS.RSR & UART_RECV_STATUS) != (uint16_t)RESET)
mbed_official 619:034e698bc035 111 {
mbed_official 619:034e698bc035 112 bitstatus = SET;
mbed_official 619:034e698bc035 113 }
mbed_official 619:034e698bc035 114 else
mbed_official 619:034e698bc035 115 {
mbed_official 619:034e698bc035 116 bitstatus = RESET;
mbed_official 619:034e698bc035 117 }
mbed_official 619:034e698bc035 118
mbed_official 619:034e698bc035 119 return bitstatus;
mbed_official 619:034e698bc035 120 }
mbed_official 619:034e698bc035 121
mbed_official 619:034e698bc035 122
mbed_official 619:034e698bc035 123 void UART_ClearRecvStatus(UART_TypeDef* UARTx, uint16_t UART_RECV_STATUS)
mbed_official 619:034e698bc035 124 {
mbed_official 619:034e698bc035 125 assert_param(IS_UART_01_PERIPH(UARTx));
mbed_official 619:034e698bc035 126 assert_param(IS_UART_RECV_STATUS(UART_RECV_STATUS));
mbed_official 619:034e698bc035 127
mbed_official 619:034e698bc035 128 UARTx->STATUS.ECR = (uint16_t)UART_RECV_STATUS;
mbed_official 619:034e698bc035 129 }
mbed_official 619:034e698bc035 130
mbed_official 619:034e698bc035 131
mbed_official 619:034e698bc035 132 FlagStatus UART_GetFlagStatus(UART_TypeDef* UARTx, uint16_t UART_FLAG)
mbed_official 619:034e698bc035 133 {
mbed_official 619:034e698bc035 134 FlagStatus bitstatus = RESET;
mbed_official 619:034e698bc035 135
mbed_official 619:034e698bc035 136 assert_param(IS_UART_01_PERIPH(UARTx));
mbed_official 619:034e698bc035 137 assert_param(IS_UART_FLAG(UART_FLAG));
mbed_official 619:034e698bc035 138
mbed_official 619:034e698bc035 139 if ((UARTx->FR & UART_FLAG) != (uint16_t)RESET)
mbed_official 619:034e698bc035 140 {
mbed_official 619:034e698bc035 141 bitstatus = SET;
mbed_official 619:034e698bc035 142 }
mbed_official 619:034e698bc035 143 else
mbed_official 619:034e698bc035 144 {
mbed_official 619:034e698bc035 145 bitstatus = RESET;
mbed_official 619:034e698bc035 146 }
mbed_official 619:034e698bc035 147
mbed_official 619:034e698bc035 148 return bitstatus;
mbed_official 619:034e698bc035 149
mbed_official 619:034e698bc035 150 }
mbed_official 619:034e698bc035 151
mbed_official 619:034e698bc035 152 /*
mbed_official 619:034e698bc035 153 void UART_ClearFlag(UART_TypeDef* UARTx, uint16_t UART_FLAG)
mbed_official 619:034e698bc035 154 {
mbed_official 619:034e698bc035 155
mbed_official 619:034e698bc035 156 }
mbed_official 619:034e698bc035 157 */
mbed_official 619:034e698bc035 158
mbed_official 619:034e698bc035 159 void UART_ITConfig(UART_TypeDef* UARTx, uint16_t UART_IT, FunctionalState NewState)
mbed_official 619:034e698bc035 160 {
mbed_official 619:034e698bc035 161 assert_param(IS_UART_01_PERIPH(UARTx));
mbed_official 619:034e698bc035 162 assert_param(IS_UART_IT_FLAG(UART_IT));
mbed_official 619:034e698bc035 163
mbed_official 619:034e698bc035 164 if ( NewState != DISABLE )
mbed_official 619:034e698bc035 165 {
mbed_official 619:034e698bc035 166 UARTx->IMSC |= UART_IT;
mbed_official 619:034e698bc035 167 }
mbed_official 619:034e698bc035 168 else
mbed_official 619:034e698bc035 169 {
mbed_official 619:034e698bc035 170 UARTx->ICR |= UART_IT;
mbed_official 619:034e698bc035 171 }
mbed_official 619:034e698bc035 172 }
mbed_official 619:034e698bc035 173
mbed_official 619:034e698bc035 174
mbed_official 619:034e698bc035 175 ITStatus UART_GetITStatus(UART_TypeDef* UARTx, uint16_t UART_IT)
mbed_official 619:034e698bc035 176 {
mbed_official 619:034e698bc035 177 ITStatus bitstatus = RESET;
mbed_official 619:034e698bc035 178
mbed_official 619:034e698bc035 179 assert_param(IS_UART_01_PERIPH(UARTx));
mbed_official 619:034e698bc035 180 assert_param(IS_UART_IT_FLAG(UART_IT));
mbed_official 619:034e698bc035 181
mbed_official 619:034e698bc035 182 if ((UARTx->MIS & UART_IT) != (uint16_t)RESET)
mbed_official 619:034e698bc035 183 {
mbed_official 619:034e698bc035 184 bitstatus = SET;
mbed_official 619:034e698bc035 185 }
mbed_official 619:034e698bc035 186 else
mbed_official 619:034e698bc035 187 {
mbed_official 619:034e698bc035 188 bitstatus = RESET;
mbed_official 619:034e698bc035 189 }
mbed_official 619:034e698bc035 190
mbed_official 619:034e698bc035 191 return bitstatus;
mbed_official 619:034e698bc035 192 }
mbed_official 619:034e698bc035 193
mbed_official 619:034e698bc035 194 void UART_ClearITPendingBit(UART_TypeDef* UARTx, uint16_t UART_IT)
mbed_official 619:034e698bc035 195 {
mbed_official 619:034e698bc035 196 assert_param(IS_UART_01_PERIPH(UARTx));
mbed_official 619:034e698bc035 197 assert_param(IS_UART_IT_FLAG(UART_IT));
mbed_official 619:034e698bc035 198
mbed_official 619:034e698bc035 199 UARTx->ICR |= UART_IT;
mbed_official 619:034e698bc035 200 }
mbed_official 619:034e698bc035 201
mbed_official 619:034e698bc035 202
mbed_official 619:034e698bc035 203 void S_UART_DeInit()
mbed_official 619:034e698bc035 204 {
mbed_official 619:034e698bc035 205
mbed_official 619:034e698bc035 206 }
mbed_official 619:034e698bc035 207
mbed_official 619:034e698bc035 208 uint32_t S_UART_Init(uint32_t baud)
mbed_official 619:034e698bc035 209 {
mbed_official 619:034e698bc035 210 uint32_t tmpreg=0x00;
mbed_official 619:034e698bc035 211 uint32_t uartclock = 0x00, integer_baud = 0x00;
mbed_official 619:034e698bc035 212
mbed_official 619:034e698bc035 213 assert_param(IS_UART_MODE(S_UART_InitStruct->UART_Mode));
mbed_official 619:034e698bc035 214
mbed_official 619:034e698bc035 215 if(CRG->FCLK_SSR == CRG_FCLK_SSR_RCLK)
mbed_official 619:034e698bc035 216 {
mbed_official 619:034e698bc035 217 uartclock = INTERN_XTAL;
mbed_official 619:034e698bc035 218 }
mbed_official 619:034e698bc035 219 else if(CRG->FCLK_SSR == CRG_FCLK_SSR_OCLK)
mbed_official 619:034e698bc035 220 {
mbed_official 619:034e698bc035 221 uartclock = EXTERN_XTAL;
mbed_official 619:034e698bc035 222 }
mbed_official 619:034e698bc035 223 else
mbed_official 619:034e698bc035 224 {
mbed_official 619:034e698bc035 225 uartclock = GetSystemClock();
mbed_official 619:034e698bc035 226 }
mbed_official 619:034e698bc035 227
mbed_official 619:034e698bc035 228 integer_baud = (uint32_t)(uartclock / baud);
mbed_official 619:034e698bc035 229 UART2->BAUDDIV = integer_baud;
mbed_official 619:034e698bc035 230
mbed_official 619:034e698bc035 231 tmpreg = UART2->CTRL;
mbed_official 619:034e698bc035 232 tmpreg &= ~(S_UART_CTRL_RX_EN | S_UART_CTRL_TX_EN);
mbed_official 619:034e698bc035 233 tmpreg |= (S_UART_CTRL_RX_EN | S_UART_CTRL_TX_EN);
mbed_official 619:034e698bc035 234 UART2->CTRL = tmpreg;
mbed_official 619:034e698bc035 235
mbed_official 619:034e698bc035 236 return 0;
mbed_official 619:034e698bc035 237 }
mbed_official 619:034e698bc035 238
mbed_official 619:034e698bc035 239 void S_UART_SendData(uint16_t Data)
mbed_official 619:034e698bc035 240 {
mbed_official 619:034e698bc035 241 while(UART2->STATE & S_UART_STATE_TX_BUF_FULL);
mbed_official 619:034e698bc035 242 UART2->DATA = Data;
mbed_official 619:034e698bc035 243 }
mbed_official 619:034e698bc035 244
mbed_official 619:034e698bc035 245 uint16_t S_UART_ReceiveData()
mbed_official 619:034e698bc035 246 {
mbed_official 619:034e698bc035 247 return (uint16_t)(UART2->DATA);
mbed_official 619:034e698bc035 248 }
mbed_official 619:034e698bc035 249
mbed_official 619:034e698bc035 250
mbed_official 619:034e698bc035 251 FlagStatus S_UART_GetFlagStatus(uint16_t S_UART_FLAG)
mbed_official 619:034e698bc035 252 {
mbed_official 619:034e698bc035 253 FlagStatus bitstatus = RESET;
mbed_official 619:034e698bc035 254
mbed_official 619:034e698bc035 255 assert_param(IS_S_UART_FLAG(S_UART_FLAG));
mbed_official 619:034e698bc035 256
mbed_official 619:034e698bc035 257 if ((UART2->STATE & S_UART_FLAG) != (uint16_t)RESET)
mbed_official 619:034e698bc035 258 {
mbed_official 619:034e698bc035 259 bitstatus = SET;
mbed_official 619:034e698bc035 260 }
mbed_official 619:034e698bc035 261 else
mbed_official 619:034e698bc035 262 {
mbed_official 619:034e698bc035 263 bitstatus = RESET;
mbed_official 619:034e698bc035 264 }
mbed_official 619:034e698bc035 265
mbed_official 619:034e698bc035 266 return bitstatus;
mbed_official 619:034e698bc035 267 }
mbed_official 619:034e698bc035 268
mbed_official 619:034e698bc035 269
mbed_official 619:034e698bc035 270 void S_UART_ITConfig(uint16_t S_UART_IT, FunctionalState NewState)
mbed_official 619:034e698bc035 271 {
mbed_official 619:034e698bc035 272 assert_param(IS_S_UART_IT_FLAG(S_UART_IT));
mbed_official 619:034e698bc035 273
mbed_official 619:034e698bc035 274 if ( NewState != DISABLE )
mbed_official 619:034e698bc035 275 {
mbed_official 619:034e698bc035 276 UART2->CTRL |= S_UART_IT;
mbed_official 619:034e698bc035 277 }
mbed_official 619:034e698bc035 278 else
mbed_official 619:034e698bc035 279 {
mbed_official 619:034e698bc035 280 UART2->CTRL &= ~(S_UART_IT);
mbed_official 619:034e698bc035 281 }
mbed_official 619:034e698bc035 282 }
mbed_official 619:034e698bc035 283
mbed_official 619:034e698bc035 284 ITStatus S_UART_GetITStatus(uint16_t S_UART_IT)
mbed_official 619:034e698bc035 285 {
mbed_official 619:034e698bc035 286 ITStatus bitstatus = RESET;
mbed_official 619:034e698bc035 287
mbed_official 619:034e698bc035 288 assert_param(IS_S_UART_IT_FLAG(S_UART_IT));
mbed_official 619:034e698bc035 289
mbed_official 619:034e698bc035 290 if ((UART2->INT.STATUS & (S_UART_IT >> 2)) != (uint16_t) RESET)
mbed_official 619:034e698bc035 291 {
mbed_official 619:034e698bc035 292 bitstatus = SET;
mbed_official 619:034e698bc035 293 }
mbed_official 619:034e698bc035 294 else
mbed_official 619:034e698bc035 295 {
mbed_official 619:034e698bc035 296 bitstatus = RESET;
mbed_official 619:034e698bc035 297 }
mbed_official 619:034e698bc035 298
mbed_official 619:034e698bc035 299 return bitstatus;
mbed_official 619:034e698bc035 300 }
mbed_official 619:034e698bc035 301
mbed_official 619:034e698bc035 302 void S_UART_ClearITPendingBit(uint16_t S_UART_IT)
mbed_official 619:034e698bc035 303 {
mbed_official 619:034e698bc035 304 assert_param(IS_S_UART_IT_FLAG(S_UART_IT));
mbed_official 619:034e698bc035 305
mbed_official 619:034e698bc035 306 UART2->INT.CLEAR |= (S_UART_IT >> 2);
mbed_official 619:034e698bc035 307 }
mbed_official 619:034e698bc035 308
mbed_official 619:034e698bc035 309
mbed_official 619:034e698bc035 310 /**************************************************/
mbed_official 619:034e698bc035 311 // It will be moved to application board's driver */
mbed_official 619:034e698bc035 312 /**************************************************/
mbed_official 619:034e698bc035 313 uint8_t UartPutc(UART_TypeDef* UARTx, uint8_t ch)
mbed_official 619:034e698bc035 314 {
mbed_official 619:034e698bc035 315 UART_SendData(UARTx,ch);
mbed_official 619:034e698bc035 316
mbed_official 619:034e698bc035 317 while(UARTx->FR & UART_FR_BUSY);
mbed_official 619:034e698bc035 318
mbed_official 619:034e698bc035 319 return (ch);
mbed_official 619:034e698bc035 320 }
mbed_official 619:034e698bc035 321
mbed_official 619:034e698bc035 322 void UartPuts(UART_TypeDef* UARTx, uint8_t *str)
mbed_official 619:034e698bc035 323 {
mbed_official 619:034e698bc035 324 uint8_t ch;
mbed_official 619:034e698bc035 325
mbed_official 619:034e698bc035 326 do{
mbed_official 619:034e698bc035 327 ch = *str;
mbed_official 619:034e698bc035 328 if(ch != (uint8_t)0x0)
mbed_official 619:034e698bc035 329 {
mbed_official 619:034e698bc035 330 UartPutc(UARTx, ch);
mbed_official 619:034e698bc035 331 }
mbed_official 619:034e698bc035 332 *str++;
mbed_official 619:034e698bc035 333 }while(ch != 0);
mbed_official 619:034e698bc035 334 }
mbed_official 619:034e698bc035 335
mbed_official 619:034e698bc035 336 uint8_t UartGetc(UART_TypeDef* UARTx)
mbed_official 619:034e698bc035 337 {
mbed_official 619:034e698bc035 338 while(UARTx->FR & UART_FR_RXFE);
mbed_official 619:034e698bc035 339
mbed_official 619:034e698bc035 340 return (UARTx->DR & 0xFF);
mbed_official 619:034e698bc035 341 }
mbed_official 619:034e698bc035 342
mbed_official 619:034e698bc035 343
mbed_official 619:034e698bc035 344 uint8_t S_UartPutc(uint8_t ch)
mbed_official 619:034e698bc035 345 {
mbed_official 619:034e698bc035 346 S_UART_SendData(ch);
mbed_official 619:034e698bc035 347
mbed_official 619:034e698bc035 348 return (ch);
mbed_official 619:034e698bc035 349 }
mbed_official 619:034e698bc035 350
mbed_official 619:034e698bc035 351 void S_UartPuts(uint8_t *str)
mbed_official 619:034e698bc035 352 {
mbed_official 619:034e698bc035 353 uint8_t ch;
mbed_official 619:034e698bc035 354
mbed_official 619:034e698bc035 355 do{
mbed_official 619:034e698bc035 356 ch = *str;
mbed_official 619:034e698bc035 357 if(ch != (uint8_t)0x0)
mbed_official 619:034e698bc035 358 {
mbed_official 619:034e698bc035 359 S_UART_SendData(ch);
mbed_official 619:034e698bc035 360 }
mbed_official 619:034e698bc035 361 *str++;
mbed_official 619:034e698bc035 362 }while(ch != 0);
mbed_official 619:034e698bc035 363 }
mbed_official 619:034e698bc035 364
mbed_official 619:034e698bc035 365 uint8_t S_UartGetc()
mbed_official 619:034e698bc035 366 {
mbed_official 619:034e698bc035 367 while( (UART2->STATE & S_UART_STATE_RX_BUF_FULL) == 0 );
mbed_official 619:034e698bc035 368 return (uint8_t)S_UART_ReceiveData();
mbed_official 619:034e698bc035 369 }
mbed_official 619:034e698bc035 370
mbed_official 619:034e698bc035 371