43 #include "esos_stm32l4_rs232.h"
53 #define __ESOS_HW_SIGNAL_START_TX() __esos_SetSystemFlag(__ESOS_SYS_COMM_TX_ONGOING)
54 #define __ESOS_HW_SIGNAL_STOP_TX() __esos_ClearSystemFlag(__ESOS_SYS_COMM_TX_ONGOING)
59 inline void __esos_hw_signal_start_tx(
void) {
60 if __esos_IsSystemFlagClear(__ESOS_SYS_COMM_TX_ONGOING) {
62 __esos_SetSystemFlag(__ESOS_SYS_COMM_TX_ONGOING);
69 u8_uartTXbuf = __esos_CB_ReadUINT8( __pst_CB_Tx );
77 inline void __esos_hw_signal_stop_tx(
void) {
78 __esos_ClearSystemFlag(__ESOS_SYS_COMM_TX_ONGOING);
112 __esos_CB_OverwriteUINT8( __pst_CB_Rx, u8_uartRXbuf );
118 else if(((USART_CR1(
USART_CONSOLE) & USART_CR1_TXEIE) != 0) &&
123 if (__ESOS_CB_IS_EMPTY( __pst_CB_Tx)) {
126 __esos_hw_signal_stop_tx();
135 u8_uartTXbuf = __esos_CB_ReadUINT8( __pst_CB_Tx );
157 nvic_enable_irq(NVIC_USART2_IRQ);
160 #if (HARDWARE_PLATFORM == NUCLEO64)
161 # warning Building configUART1() for Nucleo 64 development board
162 rcc_periph_clock_enable(RCC_USART2);
166 gpio_mode_setup(GPIOA, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO2);
167 gpio_mode_setup(GPIOA, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO3);
168 gpio_set_output_options(GPIOA, GPIO_OTYPE_OD, GPIO_OSPEED_25MHZ, GPIO3);
171 gpio_set_af(GPIOA, GPIO_AF7, GPIO2);
172 gpio_set_af(GPIOA, GPIO_AF7, GPIO3);
179 usart_set_flow_control(
USART_CONSOLE, USART_FLOWCONTROL_NONE);
190 #error Can not configUART1() since target hardware has not been defined.
218 void __esos_hw_InitCommSystem(
void) {
249 return ESOS_SERIAL_OUT_EP_SIZE;
277 return ESOS_SERIAL_IN_EP_SIZE;
296 uint8_t _esos_hw_GetSerialUartVersion(
void) {
297 return ESOS_COMM_SYS_SERIAL_REV;