STM32CubeWL/Projects/B-WL5M-SUBG1/Examples/BSP/BSP_Example/MDK-ARM/Serial.c

44 lines
1.6 KiB
C

/*----------------------------------------------------------------------------
* Name: Serial.c
* Purpose: Low Level Serial Routines
* Note(s): possible defines select the used communication interface:
* __DBG_ITM - ITM SWO interface
*----------------------------------------------------------------------------
* This file is part of the uVision/ARM development tools.
* This software may only be used under the terms of a valid, current,
* end user licence from KEIL for a compatible version of KEIL software
* development tools. Nothing else gives you the right to use this software.
*
* This software is supplied "AS IS" without warranties of any kind.
*
* Copyright (c) 2019 Keil - An ARM Company. All rights reserved.
*----------------------------------------------------------------------------*/
#include <stm32wlxx.h> /* STM32l5xx Definitions */
#include "Serial.h"
#ifdef __DBG_ITM
volatile int ITM_RxBuffer = ITM_RXBUFFER_EMPTY; /* CMSIS Debug Input */
#endif
/*----------------------------------------------------------------------------
Write character to Serial Port
*----------------------------------------------------------------------------*/
int SER_PutChar (int c) {
ITM_SendChar(c);
return (c);
}
/*----------------------------------------------------------------------------
Read character from Serial Port (blocking read)
*----------------------------------------------------------------------------*/
int SER_GetChar (void) {
while (ITM_CheckChar() != 1) __NOP();
return (ITM_ReceiveChar());
}