HXC Client Shield Repository.

Dependencies:   mbed

Committer:
kashish_mbed
Date:
Mon Apr 19 17:43:09 2021 +0000
Revision:
3:5e1a54378107
Parent:
0:bacc6e701fb4
Successful Build file with CmdProcess Functionality

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kashish_mbed 0:bacc6e701fb4 1 /******************************************************************************
kashish_mbed 0:bacc6e701fb4 2 * @file hw_usart.h
kashish_mbed 0:bacc6e701fb4 3 * @author MCD Application Team
kashish_mbed 0:bacc6e701fb4 4 * @version V1.1.4
kashish_mbed 0:bacc6e701fb4 5 * @date 08-January-2018
kashish_mbed 0:bacc6e701fb4 6 * @brief This file provides code for the configuration of the USART
kashish_mbed 0:bacc6e701fb4 7 * instances.
kashish_mbed 0:bacc6e701fb4 8 ******************************************************************************
kashish_mbed 0:bacc6e701fb4 9 * @attention
kashish_mbed 0:bacc6e701fb4 10 *
kashish_mbed 0:bacc6e701fb4 11 * <h2><center>&copy; Copyright (c) 2017 STMicroelectronics International N.V.
kashish_mbed 0:bacc6e701fb4 12 * All rights reserved.</center></h2>
kashish_mbed 0:bacc6e701fb4 13 *
kashish_mbed 0:bacc6e701fb4 14 * Redistribution and use in source and binary forms, with or without
kashish_mbed 0:bacc6e701fb4 15 * modification, are permitted, provided that the following conditions are met:
kashish_mbed 0:bacc6e701fb4 16 *
kashish_mbed 0:bacc6e701fb4 17 * 1. Redistribution of source code must retain the above copyright notice,
kashish_mbed 0:bacc6e701fb4 18 * this list of conditions and the following disclaimer.
kashish_mbed 0:bacc6e701fb4 19 * 2. Redistributions in binary form must reproduce the above copyright notice,
kashish_mbed 0:bacc6e701fb4 20 * this list of conditions and the following disclaimer in the documentation
kashish_mbed 0:bacc6e701fb4 21 * and/or other materials provided with the distribution.
kashish_mbed 0:bacc6e701fb4 22 * 3. Neither the name of STMicroelectronics nor the names of other
kashish_mbed 0:bacc6e701fb4 23 * contributors to this software may be used to endorse or promote products
kashish_mbed 0:bacc6e701fb4 24 * derived from this software without specific written permission.
kashish_mbed 0:bacc6e701fb4 25 * 4. This software, including modifications and/or derivative works of this
kashish_mbed 0:bacc6e701fb4 26 * software, must execute solely and exclusively on microcontroller or
kashish_mbed 0:bacc6e701fb4 27 * microprocessor devices manufactured by or for STMicroelectronics.
kashish_mbed 0:bacc6e701fb4 28 * 5. Redistribution and use of this software other than as permitted under
kashish_mbed 0:bacc6e701fb4 29 * this license is void and will automatically terminate your rights under
kashish_mbed 0:bacc6e701fb4 30 * this license.
kashish_mbed 0:bacc6e701fb4 31 *
kashish_mbed 0:bacc6e701fb4 32 * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS"
kashish_mbed 0:bacc6e701fb4 33 * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT
kashish_mbed 0:bacc6e701fb4 34 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
kashish_mbed 0:bacc6e701fb4 35 * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
kashish_mbed 0:bacc6e701fb4 36 * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT
kashish_mbed 0:bacc6e701fb4 37 * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
kashish_mbed 0:bacc6e701fb4 38 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
kashish_mbed 0:bacc6e701fb4 39 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
kashish_mbed 0:bacc6e701fb4 40 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
kashish_mbed 0:bacc6e701fb4 41 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
kashish_mbed 0:bacc6e701fb4 42 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
kashish_mbed 0:bacc6e701fb4 43 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
kashish_mbed 0:bacc6e701fb4 44 *
kashish_mbed 0:bacc6e701fb4 45 ******************************************************************************
kashish_mbed 0:bacc6e701fb4 46 */
kashish_mbed 0:bacc6e701fb4 47 /* Define to prevent recursive inclusion -------------------------------------*/
kashish_mbed 0:bacc6e701fb4 48 #ifndef __usart_H
kashish_mbed 0:bacc6e701fb4 49 #define __usart_H
kashish_mbed 0:bacc6e701fb4 50 #ifdef __cplusplus
kashish_mbed 0:bacc6e701fb4 51 extern "C" {
kashish_mbed 0:bacc6e701fb4 52 #endif
kashish_mbed 0:bacc6e701fb4 53
kashish_mbed 0:bacc6e701fb4 54 /* Includes ------------------------------------------------------------------*/
kashish_mbed 0:bacc6e701fb4 55 #include <stdbool.h>
kashish_mbed 0:bacc6e701fb4 56
kashish_mbed 0:bacc6e701fb4 57 /* Private defines -----------------------------------------------------------*/
kashish_mbed 0:bacc6e701fb4 58 /* Exported constants --------------------------------------------------------*/
kashish_mbed 0:bacc6e701fb4 59
kashish_mbed 0:bacc6e701fb4 60
kashish_mbed 0:bacc6e701fb4 61
kashish_mbed 0:bacc6e701fb4 62
kashish_mbed 0:bacc6e701fb4 63
kashish_mbed 0:bacc6e701fb4 64 /* External variables --------------------------------------------------------*/
kashish_mbed 0:bacc6e701fb4 65 /* Exported macros -----------------------------------------------------------*/
kashish_mbed 0:bacc6e701fb4 66 /* Exported functions ------------------------------------------------------- */
kashish_mbed 0:bacc6e701fb4 67
kashish_mbed 0:bacc6e701fb4 68 bool HW_UART_Modem_Init(uint32_t BaudRate);
kashish_mbed 0:bacc6e701fb4 69 void HW_UART_Modem_DeInit(void);
kashish_mbed 0:bacc6e701fb4 70
kashish_mbed 0:bacc6e701fb4 71 void HW_UART_Modem_IRQHandler(void);
kashish_mbed 0:bacc6e701fb4 72 bool HW_UART_Modem_Receive_IT (uint8_t *aRxBuffer);
kashish_mbed 0:bacc6e701fb4 73
kashish_mbed 0:bacc6e701fb4 74 /******************************************************************************
kashish_mbed 0:bacc6e701fb4 75 * @Brief : Read characters until Newline
kashish_mbed 0:bacc6e701fb4 76 * @Param : rxBuffer - pointer for received characters
kashish_mbed 0:bacc6e701fb4 77 * rxBufferSize - size of the rxBuffer
kashish_mbed 0:bacc6e701fb4 78 * timeout - timeout value in millisecond
kashish_mbed 0:bacc6e701fb4 79 * @Retval: Return the number of characters received
kashish_mbed 0:bacc6e701fb4 80 ******************************************************************************/
kashish_mbed 0:bacc6e701fb4 81 uint8_t HW_UART_Modem_GetCharactersUntilNewLine(char *rxBuffer, uint8_t rxBufferSize, uint32_t timeout);
kashish_mbed 0:bacc6e701fb4 82 bool HW_UART_Modem_IsNewCharReceived(void);
kashish_mbed 0:bacc6e701fb4 83 uint8_t HW_UART_Modem_GetNewChar(void);
kashish_mbed 0:bacc6e701fb4 84
kashish_mbed 0:bacc6e701fb4 85 bool HW_UART_Modem_SendBytes(const char *pData, uint16_t size);
kashish_mbed 0:bacc6e701fb4 86
kashish_mbed 0:bacc6e701fb4 87 /******************************************************************************
kashish_mbed 0:bacc6e701fb4 88 * @brief Reset read and write index of the circular buffer
kashish_mbed 0:bacc6e701fb4 89 * @param none
kashish_mbed 0:bacc6e701fb4 90 * @retval none
kashish_mbed 0:bacc6e701fb4 91 ******************************************************************************/
kashish_mbed 0:bacc6e701fb4 92 void HW_UART_ResetBuffer(void);
kashish_mbed 0:bacc6e701fb4 93 void HW_UART_Modem_Ready(void);
kashish_mbed 0:bacc6e701fb4 94
kashish_mbed 0:bacc6e701fb4 95 #ifdef __cplusplus
kashish_mbed 0:bacc6e701fb4 96 }
kashish_mbed 0:bacc6e701fb4 97 #endif
kashish_mbed 0:bacc6e701fb4 98 #endif /*__ usart_H */
kashish_mbed 0:bacc6e701fb4 99
kashish_mbed 0:bacc6e701fb4 100 /**
kashish_mbed 0:bacc6e701fb4 101 * @}
kashish_mbed 0:bacc6e701fb4 102 */
kashish_mbed 0:bacc6e701fb4 103
kashish_mbed 0:bacc6e701fb4 104 /**
kashish_mbed 0:bacc6e701fb4 105 * @}
kashish_mbed 0:bacc6e701fb4 106 */
kashish_mbed 0:bacc6e701fb4 107
kashish_mbed 0:bacc6e701fb4 108 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
kashish_mbed 0:bacc6e701fb4 109