/*---------------------------------------------------------------------------- * 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 /* 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()); }