44 lines
1.6 KiB
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());
|
|
|
|
}
|