35 #include "stm32l1xx.h"
36 #include "stm32l1xx_hal_dma.h"
37 #include "stm32l1xx_hal_uart.h"
40 extern st_lib_uart_handle_typedef st_lib_uart_handle;
49 st_lib_uart_handle.Instance = USART2;
51 st_lib_uart_handle.Init.BaudRate = 115200;
52 st_lib_uart_handle.Init.WordLength = UART_WORDLENGTH_8B;
53 st_lib_uart_handle.Init.StopBits = UART_STOPBITS_1;
54 st_lib_uart_handle.Init.Parity = UART_PARITY_NONE;
55 st_lib_uart_handle.Init.HwFlowCtl = UART_HWCONTROL_NONE;
56 st_lib_uart_handle.Init.Mode = UART_MODE_TX_RX;
58 st_lib_hal_uart_init(&st_lib_uart_handle);
68 uart_send_char(
int ch)
70 st_lib_hal_uart_transmit(&st_lib_uart_handle, (uint8_t *)&ch, 1, HAL_MAX_DELAY);
78 uart_receive_char(
void)
81 st_lib_hal_uart_receive(&st_lib_uart_handle, &ch, 1, HAL_MAX_DELAY);
84 st_lib_hal_uart_transmit(&st_lib_uart_handle, &ch, 1, HAL_MAX_DELAY);
89 st_lib_hal_uart_transmit(&st_lib_uart_handle, &ret, 1, HAL_MAX_DELAY);
95 #if defined(__IAR_SYSTEMS_ICC__)
97 size_t __write(
int Handle,
const unsigned char *Buf,
size_t Bufsize);
98 size_t __read(
int Handle,
unsigned char *Buf,
size_t Bufsize);
107 __read(
int handle,
unsigned char *buf,
size_t bufsize)
115 for(i = 0; i < bufsize; i++) {
116 buf[i] = uart_receive_char();
128 __write(
int handle,
const unsigned char *buf,
size_t bufsize)
132 if(handle != 1 && handle != 2) {
136 for(i = 0; i < bufsize; i++) {
137 uart_send_char(buf[i]);
143 #elif defined(__CC_ARM)
151 fputc(
int ch, FILE *f)
153 return uart_send_char(ch);
162 return uart_receive_char();
165 #elif defined(__GNUC__)
174 return uart_send_char(ch);
183 return uart_receive_char();
187 #error "Toolchain not supported"
Header file for the STM32Cube HAL APIs.